No1.大话设计模式学习之设计原则
-
1.设计原则
-
1.1单一职责原则
- 描述:单一职责原则(Single Responsibility Principle,SRP)
- 原则:修改一个类的原因只有一个
好处1:统一收口,避免多处的一处修改,影响剩余处的逻辑 - 好处2:方便维护代码–一处修改,而不用多处维护
-
1.2开闭原则
- 描述:开闭原则(Open-Closed Principle,OCP)
- 原则:对于扩展类应该开放,对于修改类应该封闭
- 好处1:仅对程序中呈现出频繁变化的部分做出抽象,拒绝不成熟的抽象
- 好处2:对于已经对外提供的方法,做出修改,需要不影响以前的功能,通常用新增字段来达到定制化目的
-
1.3迪米特法则(最少知识原则)
- 描述:迪米特法则(Law of Demeter,LoD):也叫最少知识原则
- 原则:类应尽量降低成员的访问权限,即耦合尽可能弱
- 好处:功能更聚焦、效率也就大幅提升
-
1.4依赖倒置原则
- 描述:依赖倒置原则(Dependency Inversion Principle,DIP):
- 原则1:高层次的类不应依赖低层次的类,都应依赖于抽象接口
- 原则2:抽象不应该依赖细节,细节应该依赖抽象
- 好处:抽象好方法,调用方不用清楚实现细节,做到易拔插,松耦合
-
1.5里氏替换原则
- 描述:里氏替换原则(Liskov Substituion Principle,LSP)
- 汇总:扩展一个类时,能够(不修改代码)将子类的对象作为父类对象进行传递。和依赖倒置原则意思接近
- 原则1:子类方法的参数类型必须与父类相匹配或更抽象
- 原则2:子类的返回值类型必须与父类或其子类相匹配
- 原则3:子类方法的异常必须与父类能抛出的异常(或其子类)相匹配
- 原则4:子类不应该加强参数条件限制
- 原则5:子类不能修改父类的私有成员变量
- 好处:拓展基类方法,方便新增自定义业务方法
-
参考链接:https://cloud.tencent.com/developer/article/1650116