## 单一职责原则 一个类只负责一个功能领域中的相应职责 ## 开闭原则 软件实体应对扩展开放,而对修改关闭 ## 里氏替换原则 > 将父类替换为子类,逻辑依旧通过 所有引用基类对象的地方能够透明地使用其子类的对象 ## 依赖倒置原则 抽象不应该依赖于细节,细节应该依赖于抽象 ## 接口隔离原则 > 接口版的单一职责原则 使用多个专门的接口,而不使用单一的总接口 ## 合成复用原则 尽量使用对象组合,而不是继承来达到复用的目的 ## 迪米特法则 一个软件实体应当尽可能少地与其他实体发生相互作用