软件构造第五章复习

5.1可维护性的度量与构造原则

一.可维护性的度量标准

(1).圈/环复杂度,即独立路径的数量——计算方法:分支点+1
(2).代码行数——最直观
(3).可维护性指数(MI):越高越好

二.模块化设计与模块化准则

1.五个评价模块化的标准

可分解性,可组合性。可理解性,可持续性,出现异常之后的保护

2.五个进行模块化设计的方法

直接映射,尽可能少的接口,尽可能小的接口,显式接口,信息隐藏

3.高内聚与低耦合

一般情况下,内聚度与耦合度的变化方向是相反的

三.面向对象的编程原则:SOLID

S->SRP(单一责任原则):ADT中不应有多于一个的原因使得一个类发生变化
O->OCP(开放-封闭原则):对扩展性的开放,对修改的封闭
L->LSP(李氏替换原则):参考第四章
I->ISP(接口聚合原则):一个接口尽可能多的覆盖相同的方法
D->DIP(依赖转置原则):不能强迫客户端依赖于他们不需要的接口,只提供必需的接口

5.2面向可维护性的设计模式

一.创建者模式

1.工厂方法模式

基本思想:当client不知道要创建哪个具体类的实例,或者不想在client代码中指明具体要创建的实例类型时,采用工厂方法。
在这里插入图片描述
在这里插入图片描述

以这个为例,在TraceFactory接口下有两种创建方法,我们定义两个不同的类去继承这个接口,然后根据实际用户的实际需要返回所需要的实例(在这个例子下,如果传入参数是file类型的,就返回FileTrace的对象,否则就返回SystemTrace的对象)

2.抽象工厂模式

基本思想:提供接口来创建一组相关/相互依赖的对象,但不需要指明其具体类

在这里插入图片描述
本质上是将多个产品的工厂方法组合在一起

二.结构模式

1.代理模式

基本思想:不希望某个对象被client直接访问,就访问代理对象(假对象)
在这里插入图片描述
在这里插入图片描述

在这个例子中,由于从磁盘中下载图片需要占用内存和时间,所以我们采用代理模式,先假装展示这个对象,当所需要的对象真的需要被展示时,再从磁盘中下载。

三.行为模式

1.观察者模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

具体的思路在图片中已经体现,不再重复说明

5.3面向可维护性的构造技术

一.基于状态的构造编程

1.基于自动机的编程

基本思想:将程序看成一个自动机来运行,设定状态并对步骤进行分解

2.状态模式

在这里插入图片描述

每一次实现都要判断是否达到最终状态,如果没有则进入下一个状态
如这里的

public boolean accept(){return state.accept();}//结束
public State getState(){return this.state;}//进入下一个状态

3.备忘录模式

基本思想:记住对象的历史状态,便于回滚
在这里插入图片描述

在这里插入图片描述

我们建立一个备忘录,在到达每一个状态的同时,我们将这个状态存到备忘录中,当我们需要进行状态回溯时,我们调用备忘录就可以得到保存的内容

二.基于语法的构造编程–正则表达式

一些基本操作如下:
在这里插入图片描述

补充:
(1).*代表可能有0个或多个
(2).?代表可能有0个或1个
(3).+代表可能有1个或多个

选择操作以及补集操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值