| 原则 | 功能 | 目的 |
|---|---|---|
| 开闭 | 对扩展开放,对修改关闭 | 降低维护风险 |
| 依赖倒置 | 高层不依赖底层,而要依赖接口 | 便于扩展 |
| 单一职责 | 一个类只做一件事 | 便于理解,提升代码可读性 |
| 接口隔离 | 一个接口只做一件事 | 功能解耦,高内聚、低耦合 |
| 迪米特 | 一个类应该对其他对象最少了解 | 最少知识,只和朋友交流,不和陌生人说话 |
| 里氏替换 | 不破坏继承体系,子类重写不影响父类 | 防止继承泛滥 |
| 合成复用 | 尽量使用组合或聚合,少用继承 | 降低耦合 |
原则核心
降低对象之间的耦合,增加程序的可复用性、可扩展性、可维护性
口诀
访问加限制、函数要节俭、依赖不允许、动态加接口、父类要抽象、扩展不更改
迪米特、单一职责 & 接口隔离、合成复用、开闭、依赖倒置、里氏替换