概述

原则

单一职责原则 (SRP):每一个类应该专注于做一件事情。

开闭原则 (ASD):可以拓展,但是不可修改。(向扩展开放,向修改关闭)

里氏替换原则 (LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象。

依赖倒置原则 (DIP):高层模块不应该依赖低层模块,两个都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。

迪米特原则 (LOD):一个软件实体应当尽可能少地与其他实体发生相互作用。

接口隔离原则 (ISP):供尽可能小的单独的接口。

组合/聚合复用原则:尽量使用合成/聚合达到复用,尽量少用继承。

分类

https://tva1.sinaimg.cn/large/007S8ZIlly1ggcx4hx558j30lj0ny75g.jpg