2009年4月1日星期三

JavaDesign_001:为何要使用设计模式?(摘录+整理)

一言以蔽之,为了提高软件系统的可维护性(Maintainability)可复用性(Reuseability)
在介绍每一个设计模式之前,有必要了解一下所有设计模式背后的原则,即设计原则。

1. 开闭原则 Open-Closed Principle好的软件应该对扩展开放,对修改关闭。
“Software entities should be open for extension,but closed for modifications.”

2. 里氏代换原则 Liskov Substitution Principle任何基类可以出现的地方,子类一定可以出现。
3. 依赖倒转原则 Dependency Inversion Principle要依赖于抽象,不要依赖于实现。
Abstrations should not depned upon details.Details should depend upon abstrations.
要针对接口编程,不要针对实现编程。
Program to an interface,not an implementation.
所谓“倒转
”,是指过去错误软件设计原则:高层次的模块依赖于低层次的模块,抽象的模块依赖于具体的模块。现在要把这个错误纠正过来,“倒转”过来。

4. 接口隔离原则 Interface Segregation Principle
应当为客户提供尽可能小的单独接口,而不是包罗万象的大的接口。

5. 组合/聚合复用原则 Composition/Aggregation Principle尽量使用合成/聚合,而不是继承关系达到复用的目的。

6. 迪米特法则 Law of Demeter
软件的各个模块应当尽可能的相对独立,不与其它模块产生紧耦合关系。

参考文献:

1. 《Java与模式》 阎宏

没有评论: