其他分享
首页 > 其他分享> > SOLID设计原则

SOLID设计原则

作者:互联网

SOLID设计原则

SRP

Single Reposibility Principle 单一职责原则

A class should have one,and only one,reason to change.

示例

image

分离关注点,让其彼此独立。

OCP

Open Closed Principle 开放-封闭原则

Software entities(classes,modules,functions,etc) must be open for extension but closed for modification.

软件实体(类,模块,函数方法等)应该对扩展开发,对修改封闭。

示例

image

新建一个MyClass2类用以完全地替换掉MyClass类,如下所示:
image
image

LSP

Liskov Substitution Principle Liskov替换原则

Subtypes must be substituable for their base types.

子类型必须能够替换掉他们的基类型。

示例:反例

image

ISP

Interface Segregation Principle 接口隔离原则

No client should be forced to depend on methods it does not use.

不应该强迫一个软件组件依赖于它们不用的方法。

要避免创建一个全能接口,而应该将其定义的功能从逻辑上进行分组,将切分为多个小的接口。

各个类可以依据实际情况选择实现不同的接口,而在不同的场景下,实现多个接口的对象又可以向外界展示出不同的特性。

示例

image
image

对于一个仅提供查询功能的类来说Save()Update()等方法是毫无意义的。
image

仅实现查询接口的Repository类,如下所示:
image

DIP

Dependency Inversion Principle 依赖倒置原则

image

示例:

一个类不要依赖于具体的(concrete)类,而应该依赖于抽象的(abstract)类或者接口。
image

类本身不直接实例化它所依赖的类的对象,而是由外界动态地将其注入(inject)。
image
image

标签:depend,原则,示例,SOLID,接口,should,抽象,Principle,设计
来源: https://www.cnblogs.com/tjubuntu/p/15484959.html