S O L I D
https://developer.aliyun.com/article/226577
S
:单一职责原则 (SRP)
single responsibility principle
一个程序只做一件事情
一个类只能有一种职责,并且只能完成它设计的功能任务
O
:开放封闭原则(OCP)
open closed principle
对扩展开放,对修改封闭
增加新需求,扩展新代码,而不是修改已有的代码
L
:里氏替换原则(LSP)
liskov substitution principle
程序里的对象都应该可以被它的子类实例替换而不用更改程序
子类能覆盖父类,父类能出现的地方子类就能出现
(js中使用较少)
I
:接口独立原则,接口隔离(ISP)
interface segregation principle
一个类不要实现它不会用到的接口
保持接口的单一独立
D
:依赖倒置原则,依赖反转,依赖倒转(DIP)
dependency inversion principle
高层次的模块不应该依赖于低层次的模块
一个特定的类不应该直接依赖于另外一个类,但是可以依赖于这个类的抽象(接口)
面向接口(抽象)编程,依赖于抽象而不依赖于具体
使用方只关注接口,而不关注具体类的实现
(js中使用较少)