2020-06-01-面向对象设计的头五大原则——S.O.L.I.D


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