第3章 软件的可维护性和可复用性
3.1
真正的原因:
过于僵硬;过于脆弱;复用率低;黏度过高
设计目标:
可扩展性;灵活性;可插入性

3.2
在面向对象的设计里面,可维护性复用是以设计原则和设计模式为基础的
设计原则:
“开-闭”原则
里氏代换原则
依赖倒转原则
接口隔离原则
组合/聚合复用原则
迪米特法则


第4章 “开-闭”原则(OCP)
4.1
“开-闭”原则:一个软件实体应当对扩展开放,对修改关闭
即,在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。换言之,应当可以在不必修改源代码的情况下改变这个模块的行为。

4.2
抽象是关键

对可变性的封装原则:
1)一种可变性不应当散落在代码的很多角落里,而应当被封装到一个对象里面。
继承应当被看做是封装变化的方法,而不应当被认为是以一般的对象生成特殊的对象的方法。
2)一种可变性不应当与另一种可变性混合在一起。

4.3
里氏代换原则:
任何基类可以出现的地方,子类一定可以出现。

依赖倒转原则:
要依赖于抽象,不要依赖于实现。

合成/聚合复用原则:
要尽量使用合成/聚合,而不是继承关系达到复用的目的。

迪米特法则:
一个软件实体应当与尽可能少的其他实体发生相互作用。

接口隔离原则:
应当为客户端提供尽可能小的单独的接口,而不要提供大的总接口。

4.4
*

4.5
*

4.6
“将条件转移语句改写成为多态性”?
如果一个条件转移语句确实封装了某种商务逻辑的可变性,那么将此种可变性封装起来就符合“开-闭”原则设计思想了。



欢迎大家访问我的个人网站 萌萌的IT人