前言
给大家分享一下关于设计模式的文档(下图为部分技术文档)分享给大家:
SRP:单一职责原则
容易误认为是指:一个软件模块都应该只做一件事,实际上并不准确。
单一职责原则准确描述应该是:一个软件模块都应该只对一类行为负责。
如果多个特性不同的项目同时依赖同一个底层接口,只要有任意一个项目需要改动依赖的底层接口逻辑,就会影响到其他项目。
单一职责原则主要讨论函数和类之间的关系,但在两个层面上有不同的表现形式。在组件层面,称为共同闭包原则;在软件架构层面,则用于奠定架构边界的变更轴心。
OCP:开闭原则
良好的软件设计应该是易于扩展,抗拒修改。
开闭原则主要目的是让系统易于扩展,同时限制其每次被修改所影响的范围。实现方式是通过将系统划分为一系列组件,并将这些组件间的依赖关系按层次结构进行组织,使得高阶组件不会因低阶组件被修改影响。
LSP:里氏替换原则
任何基类可以出现的地方,子类一定可以出现。
里氏替换原则一旦违背了可替换性,该系统架构就不得不为此增加大量复杂的应对机制。
ISP:接口隔离原则
个类与另一个类之间的依赖性,应该依赖于尽可能小的接口。
接口隔离原则避免依赖不需要的东西,以免带来意料之外的麻烦。
DIP:依赖反转原则
在设计系统时,多引用抽象类型,而非具体实现。
例如Spring的IOC和DI。
最后
我这边整理了一套2021年最新Java面试手册文档、Spring系列全家桶、Java的系统化资料:(包括Java核心知识点、面试专题和20年最新的互联网真题、电子书等)有需要的朋友可以关注公众号【程序媛小琬】即可获取。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END