在程序设计领域, SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖倒置)是由罗伯特·C·马丁在21世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则。当这些原则被一起应用时,它们使得一个程序员开发一个容易进行软件维护和扩展的系统变得更加可能。SOLID所包含的原则是通过引发编程者进行软件源代码的代码重构进行软件的代码异味清扫,从而使得软件清晰可读以及可扩展时可以应用的指南。SOLID被典型的应用在测试驱动开发上,并且是敏捷开发以及自适应软件开发的基本原则的重要组成部分。


设计模式目录  包含java,python,javascript等语言的代码实现

设计模式SOLID原则

设计模式SOLID原则
S单一职责原则
(Single Responsibility Principle)
每一个类应该专注于做一件事情。
O开闭原则
(Open Close Principle)

对扩展开放,对修改关闭。

核心思想就是对抽象编程,而不对具体编程。

L里氏替换原则
(Liskov Substitution Principle)

在软件里面,把父类替换成子类,程序的行为没有变化。子类型必须能够替换掉它们的父类型。它们具有is-A关系.

子类型必须能够替换掉他们的父类型、并出现在父类能够出现的任何地方。

主要针对继承的设计原则
1)父类的方法都要在子类中实现或者重写,并且派生类只实现其抽象类中生命的方法,而不应当给出多余的,方法定义或实现。
2)在客户端程序中只应该使用父类对象而不应当直接使用子类对象,这样可以实现运行期间绑定。

I接口隔离原则
(Interface Segregation Principle)
表明客户端不应该被强迫实现一些他们不会使用的接口,应该把胖接口中额方法分组,然后用多个接口代替它,每个接口服务于一个子模块。简单说,就是使用多个专门的接口比使用单个接口好很多。
该原则观点如下:
1)一个类对另外一个类的依赖性应当是建立在最小的接口上
2)客户端程序不应该依赖它不需要的接口方法。
D依赖倒置原则
(Dependence Inversion Principle)
实现尽量依赖抽象,不依赖具体实现。依赖注入是该原则的一种实现方式。
1. 上层模块不应该依赖于下层模块,他们共同依赖于一个抽象,即:父类不能依赖子类,他们都要依赖抽象类。
2. 抽象不能依赖于具体,具体应该要依赖于抽象。

设计模式之间的关系

 

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐