超易懂!原来SOLID五大设计原则要这么理解!

前言

给大家分享一下关于设计模式的文档(下图为部分技术文档)分享给大家:

image.png

SRP:单一职责原则

容易误认为是指:一个软件模块都应该只做一件事,实际上并不准确。

单一职责原则准确描述应该是:一个软件模块都应该只对一类行为负责。

如果多个特性不同的项目同时依赖同一个底层接口,只要有任意一个项目需要改动依赖的底层接口逻辑,就会影响到其他项目。

单一职责原则主要讨论函数和类之间的关系,但在两个层面上有不同的表现形式。在组件层面,称为共同闭包原则;在软件架构层面,则用于奠定架构边界的变更轴心。

OCP:开闭原则

良好的软件设计应该是易于扩展,抗拒修改。

开闭原则主要目的是让系统易于扩展,同时限制其每次被修改所影响的范围。实现方式是通过将系统划分为一系列组件,并将这些组件间的依赖关系按层次结构进行组织,使得高阶组件不会因低阶组件被修改影响。

LSP:里氏替换原则

任何基类可以出现的地方,子类一定可以出现。

里氏替换原则一旦违背了可替换性,该系统架构就不得不为此增加大量复杂的应对机制。

ISP:接口隔离原则

个类与另一个类之间的依赖性,应该依赖于尽可能小的接口。

接口隔离原则避免依赖不需要的东西,以免带来意料之外的麻烦。

DIP:依赖反转原则

在设计系统时,多引用抽象类型,而非具体实现。

例如Spring的IOC和DI。

最后

我这边整理了一套2021年最新Java面试手册文档、Spring系列全家桶、Java的系统化资料:(包括Java核心知识点、面试专题和20年最新的互联网真题、电子书等)有需要的朋友可以关注公众号【程序媛小琬】即可获取。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享