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),包的抽象程度應該和其穩定程度一致