开闭原则
- 对扩展开放,对修改关闭
里氏代换原则
- 任何基类可以出现的地方,子类一定可以出现
依赖倒置原则
- 针对接口编程,依赖于抽象而不依赖于具体
- 抽象不应该依赖于细节,细节应当依赖于抽象
- 倒置的理解:
- 高层模块不该依赖于低层模块, 二者都该依赖于抽象
- 抽象不应该依赖于细节,细节应该依赖于抽象
- 不应该依赖于具体类,而是依赖其抽象
接口隔离原则
- 使用多个隔离的接口,比使用单个接口要好
- 还是一个降低类之间的耦合度的意思
最少知道原则
- 能用 private 的不用 protected
合成复用原则
- 尽量使用合成/聚合的方式,而不是使用继承。