设计原则

面向对象的特性

封装

继承

多态

面向对象的本质

封装稳定的抽象

设计原则为指导

设计模式为手段

设计原则

职责单一原则:SRP,单一职责原则,一个类应该有且只有一个改变的理由。

里氏替换原则:Liskov替换原则,派生类要与其基类自相容

开闭原则:OCP,开放封闭原则,你应该能够不用修改原有类就能扩展一个类的行为。

依赖倒置原则:DIP,依赖倒置原则,依赖于抽象而不是实现。

接口隔离原则:ISP,接口隔离原则,客户只要关注它们所需的接口。

可以从考虑实现者和使用者的扩展性角度分类

实现者:职责单一原则里氏替换原则依赖倒置原则开闭原则

使用者:接口隔离原则

包设计原则

重用发布等价原则(TheReleaseReuseEquivalencyPrinciple(REP))

要继承以前发布的版本

共同重用原则(TheCommonReusePrinciple(CRP))

重用了包里的一个类就可以重用包里的所有的类

共同封闭原则(TheCommonClosurePrinciple(CCP))

这是单一职责原则对于包的重新规定

无环依赖原则(TheAcyclicDependenciesPrinciple(ADP))

包的依赖关系图应该是一个有向无环图。打破环的第一个方法:

依赖倒置原则,使一个包不再依赖于另一个包,而只是依赖于其抽象接口;第二个方法:创建一个新包来包含公共依赖部份。

稳定依赖原则(TheStableDependenciesPrinciple(SDP))

朝着的稳定的方向进行依赖

稳定抽象原则(TheStableAbstractionsPrinciple(SAP))

一个稳定的包同时应该是抽象的

CCP有益于维护者(包的作者),而REP和CRP有益于重用者(包的使用者)。

最终目标

高内局、低偶合、灵活的扩展

内在联系

面向对象的特性经过实践产生了设计原则,设计原则指导产生了各式各样的设计模式。

相关推荐