夜雨竹林
落叶无声

面向对象的分析和设计遵循的原则:

一、单一职责原则(SRP)

如果一个类承担的职责过多,就等于把这些职责耦合在了一起。一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱(fragile)设计,当变化发生时,设计会遭受到意想不到的破坏。

二、开放-封闭原则(OCP)

1.“对于扩展是开放的”(Open for extension)。

这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。换句话说,我们可以改变模块的功能。

2.“对于更改是封闭的”(Closed for modification)。

对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。模块的二进制可执行版本,无论是可链接的库、DLL或者Java的.jar文件,都无需改动。

三、Liskov替换原则(LSP)

子类型(subtype)必须能够替换它们的基类型(base type)

四、依赖倒置原则(DIP)

a.高层模块不应该依赖于低层模块。二者都应该依赖于抽象。

b.抽象不应该依赖于细节。细节应该依赖于抽象。

五、接口隔离原则(ISP)

 不应该强迫客户依赖于它们不用的方法。接口的方法应该相关,尽量把“胖”接口分离。

posted on 2011-07-24 18:32  夜雨竹林  阅读(495)  评论(0编辑  收藏  举报