SOLID 六大设计原则

单一职责原则 Single Responsibility Principle
定义:一个类 应该仅有一个引起它变化的原因
解释:一个类只做一件事
优点:降低类的复杂度、提高类的可读性、提高系统的可维护性、降低变更引起的风险
开放封闭原则 Open Closed Principle
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭
解释:例如,对于支付场景,如果将多种支付方式整合到一个类中,每次添加一种新的支付方式都需要变更这个类,并可能导致已有的支付方式受到影响而无法使用。可以将其抽象为抽象类或接口,每种支付方式继承抽象类或实现接口。
优点:提高软件系统的可复用性及维护性
迪米特法则 Law of Demeter
定义:一个对象应该对其他对象有最少的了解
解释:我们在写类的时候,应尽可能少暴露自己的接口。
除非必须暴露属性或接口,否则尽量杜绝使用public
这样就能保证其他类对这个类有最少的了解了。
里氏替换原则 Liskov Substitution Principle
定义:子类必须能够替换它们的父类
解释:在对象出现的任何地方,都可以用其子类实例进行替换,而不会导致程序错误,且软件功能不受影响。
优点:约束继承泛滥、开闭原则的一种体现
接口隔离原则 Interface Segregation Principle
定义:客户不应被强迫依赖它不使用的方法。一个类实现的接口中,包含了它不需要的方法。将接口拆分成更小和更具体的接口,有助于解耦,从而更容易重构、更改。
参考:https://blog.csdn.net/yabay2208/article/details/73739514
依赖倒置原则 Dependence Inversion Principle
定义:高层模块不应该依赖于底层模块,两者都应该依赖抽象
针对接口编程,不针对实现编程
解释:通俗的说就是我们在客户端只依赖于强类型的类,比如说接口或者抽象类,不应该把具体实现接口或者抽象类的具体类放到客户端。
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!