S - 单一职责原则
O - 开放封闭原则,对扩展开放,对修改封闭
L - 里氏替换原则
I - 接口隔离原则
D - 依赖倒置原则
简化用日常话语概括如下:
S - 整体大的原则,一个类管理的范围;
O - 应对变化的原则,环境/需求变化了,不应出现要去修改,而是进行扩展;
L - 子类与父类的替代关系原则, 即对父类的调用同样适用于子类;
> 在对象 x 为类型 T 时 q(x) 成立,那么当 S 是 T 的子类时,对象 y 为类型 S 时 q(y) 也应成立。(即对父类的调用同样适用于子类)
I - 方法之间的原则,要做的 A 事,不必也要做 B 事,如:找政府部门办正规事,不用送钱;
D - 类之间互相存在的关系原则,A 要应对变化,做出修改时,B类必须对此作出改变,如:出了交通意外,只需按照交规处理即可;
https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design