2010-6-24《java与设计模式》阅读小结
一、设计模式主要是让代码满足以下原则:
1."开-闭原则"
??? 概念:软件实体应对扩展开放,对修改关闭.即当软件需求随时间而改变,实现应该以添加代码,提供新的行为实现而非对源代码的更改而实现.(文中强调对于抽象层尤其不可进行修改.因为抽象是战略层、逻辑层.要必须保证其稳定性.因而对它的更改较少而且应以添加为主).
??? 延伸:"对可变性的封装理念".文中意在诉说设计理念不应该是"什么会导致改变设计",而应该加以控制、前瞻式的"允许什么发生变化"进而对变化抽离封装.这也意味着:可变性不能分散,应该集中在一个类.而且可变之间不应混杂,应分开处理.
2."里氏代换原则"
????"任何基类可存在的地方,实现类也可以存在."-----没感觉出啥.
3."依赖倒转原则"
???? 核心:要依赖于抽象,不要依赖于实现.----进一步强调抽象类的重要性.
4.合成/聚合复用原则
???? 对于复用的手段,应使用合成/聚合.而非继承.---个人觉得继承会带有依赖性,父类的改变基类就会更改.
5.迪米特法则
???? 软件实体应该尽量减少与其他实体发生相互作用.-----个人觉得这个是IOC遵循的原则,就是减少依赖.
6.接口隔离原则
???? 要尽量定义小的独立接口,而非大型接口.-----主要是可以功能分离,易于修改.