OOD应该遵循的十一个基本原则,摘取自Robert C. Martin的The Principles of OOD一文 http://www.butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
类设计原则:
-
SRP,单一职责原则,一个类应该有且只有一个改变的理由。
-
OCP,开放封闭原则,你应该能够不用修改原有类就能扩展一个类的行为。
-
LSP,Liskov替换原则,派生类要与其基类自相容。
-
DIP,依赖倒置原则,依赖于抽象而不是实现。
-
ISP,接口隔离原则,客户只要关注它们所需的接口。
包内聚性原则:
-
REP,重用发布等价原则,重用的粒度就是发布的粒度。
-
CCP,共同封闭原则,包中的所有类对于同一类性质的变化应该是共同封闭的。
-
CRP,共同重用原则,一个包中的所有类应该是共同重用的。
包耦合性原则:
-
ADP,无环依赖原则,在包的依赖关系图中不允许存在环。
-
SDP,稳定依赖原则,朝着稳定的方向进行依赖。
-
SAP,稳定抽象原则,包的抽象程度应该和其稳定程度一致