距离上一个软构学习笔记有一周了,期间我自学了2到9章。下面就直接上第十章的笔记(PPT标题+片段)吧。
第十章 面向可维护性的构造技术
第一节 什么是软件维护与进化
软件维护类型:纠错性、适应性、完善性、预防性
设计方案easy to change
维护向构造技术的例子:模块化、OO设计原则、OO设计模式、基于语法的构造技术
第二节 可维护性的度量
常用可维护性度量:
1.圈复杂度
2.代码行数
3.可维护性指数
4.继承的层次数
5.类之间的耦合度
6.单元测试的覆盖度
第三节 模块化设计和模块原则
模块化编程:高内聚(模块内)、低耦合(模块间)、分离关注点、信息隐藏
(1)评价模块的五个标准
(2)模块设计的五个规则
(3)耦合和内聚
此消彼长
第四节 面向对象设计原则:SOLID
五个:
(1)单一责任原则
一个类一个责任(一个功能),多了就拆开
(2)(面向变化的)开放/封闭原则
对修改的封闭,对扩展的开放
关键解决方案:抽象技术。继承、组件/委托
(3)Liskov替换原则
(4)接口隔离原则
只向客户提供必需的接口
(5)依赖转置原则
委托时,应该用接口创建连接而不是具体类