通常来说程序或者架构设计需要遵循一些经过前辈们千锤百炼的总结出来的一下基本原则,SOLOD原则就是这样的一套原则体系。SOLID原则的主要作用就是告诉我们如果数据和函数组织成为类,以及如何这些类链接起来成为程序。这里的类仅仅代表了一种数据和函数的分组,每个软件系统都会有自己的分类系统,不管是不是将其称为“类”,事实上都是SOLID原则的适用领域。
一般情况下,我们为软件构建中层结构的主要目标如下:
- 使软件可容忍被改动
- 使软件更容易被理解
- 构建可在多个软件系统中复用的组件
原则
-
SRP 单一职责原则。
该设计原则是基于康威定律的一个推论--一个软件系统的最佳结构高度依赖于开发这个系统的组织的内部结构。这样,每个软件模块都有且只有一个需要被改变的理由。 -
OCP:开闭原则。
该设计原则是由Bertrand Meyer在20世纪80年代大力推广的,其核心要素是:如果软件系统想要容易被改变,那么其设计就必须允许新增代码来修改系统行为,而非只能靠修改原来的代码。 -
LSP:里氏替换原则。
给设计原则是Barbara在1988年提出的一个著名的子类型定义。如果想用可替换的组件来构建软件系统,那么这些组件就必须遵守同一个约定,以便让这些组件可以相互替换。 -
ISP:接口隔离原则。
这项设计原则主要告诫设计师应该在设计中避免不必要的依赖。 -
DIP:依赖反转原则。
该设计原则指出高层策略性的代码不应该依赖实现底层细节的代码,恰恰相反,那些实现底层细节的代码应该依赖高层策略性的代码。