OOD应该遵循的十一个基本原则
一、类设计原则:
- SRP,单一职责原则(The Single Responsibility Principle),一个类应该有且只有一个改变的理由。
- OCP,开放封闭原则(The Open Closed Principle),你应该能够不用修改原有类就能扩展一个类的行为。
- LSP,Liskov替换原则(The Liskov Substitution Principle),派生类要与其基类自相容。
- DIP,依赖倒置原则(The Dependency Inversion Principle),依赖于抽象而不是实现。
- ISP,接口隔离原则(The Interface Segregation Principle),客户只要关注它们所需的接口。
二、包内聚性原则:
- REP(The Release Reuse Equivalency Principle),重用发布等价原则,重用的粒度就是发布的粒度。
- CCP,共同封闭原则(The Common Closure Principle),包中的所有类对于同一类性质的变化应该是共同封闭的。
- CRP,共同重用原则(The Common Reuse Principle),一个包中的所有类应该是共同重用的。
三、包耦合性原则:
- ADP,无环依赖原则(The Acyclic Dependencies Principle),在包的依赖关系图中不允许存在环。
- SDP,稳定依赖原则(The Stable Dependencies Principle),朝着稳定的方向进行依赖。
- SAP,稳定抽象原则(The Stable Abstractions Principle),包的抽象程度应该和其稳定程度一致