封装变化

封装那些你估计在未来可能被改变的代码

单一职责

一个类只能有一个职责,应该只有一个改变的理由

DRY(避免自我重复)

不要重复做同一件事,应该将重复的部分抽象到公用的地方

OCP(开闭原则)

类应该对扩展开放,对修改关闭

LSP(里氏代换原则)

凡是基类能使用的地方,子类也一定能使用

DIP(依赖倒转原则)

依赖抽象,不要依赖具体类

ISP(接口隔离)

客户不应该实现它不使用的接口

CARP(合成/聚合复用)

多用组合,少用继承

LOD(迪米特原则)

一个对象应当对其他对象的细节尽可能少的了解

参考资料:

https://zh.wikipedia.org/wiki/SOLID_(%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E8%AE%BE%E8%AE%A1))

https://www.cnblogs.com/wuyuegb2312/p/7011708.html