当前位置: 首页 > article >正文

设计模式:SOLID原则

单一职责原则

Single Responsibility Principle(SRP)
接口职责应该单一,不要承担过多的职责。

开放封闭原则

Open Closed Principle(OCP)
添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等)

里式替换原则

Liskov Substitution Principle(LSP)
所有父类能出现的地方,子类就可以出现,并且替换了也不会出现任何错误。

例如Parent类出现的地方,可以替换成Son类,其中Son是Parent的子类。这就要求子类的所有相同方法,都必须遵循父类的约定,否则当父类替换为子类时就会出错。这里父类的约定,不仅仅指的是语法层面上的约定,还包括实现上的约定。

接口分离原则

Interface Segregation Principle(ISP)
接口的内容一定要尽可能地小,能有多小就多小。

我们对外提供API接口服务,调用方可能有很多个,很多时候我们会提供一个大而全的接口给不同的调用方,但有些时候调用方A只使用1、2、3 这三个方法,调用方B只使用4、5两个方法,其他都不用。接口隔离原则的意思是,你应该把 1、2、3 抽离出来作为一个接口,4、5 抽离出来作为一个接口,这样接口之间就隔离开来了。

依赖倒置原则

Dependency Inversion Principle(DIP)
就是说我们应该面向接口编程,通过抽象成接口,使各个类的实现彼此独立,实现类之间的松耦合。

定义:高层模块不应该依赖底层模块,两者都应该依赖其抽象。抽象不应该依赖细节,即接口或抽象类不依赖于实现类,细节应该依赖抽象,即实现类不应该依赖于接口或抽象类。

各个原则直接的关系

依赖倒置原则告诉我们要面向接口编程,当面向接口编程之后,接口隔离原则和单一职责原则又告诉我们要注意职责的划分,不要什么东西都混杂在一起,当我们职责划分清楚后,里氏替换原则告诉我们在使用继承时,要注意遵守父类的约定,而依赖倒置、接口隔离、单一职责、里氏替换的最终目标都是为了实现开闭原则。
在这里插入图片描述

总结

单一职责是所有设计原则的基础,开闭原则是设计的终极目标。

里氏替换原则强调的是子类替换父类后程序运行时的正确性,它用来帮助实现开闭原则。

而接口隔离原则用来帮助实现里氏替换原则,同时它也体现了单一职责。

依赖倒置原则是过程式编程与面向对象编程的分水岭,同时它也被用来指导接口隔离原则。


http://www.kler.cn/a/17990.html

相关文章:

  • 【计算机网络】UDP网络程序
  • HBase理论_背景特点及数据单元及与Hive对比
  • 基于混合配准策略的多模态医学图像配准方法研究
  • 【Webpack实用指南】如何拆分CSS资源(2)
  • MySQL45讲 第二十讲 幻读是什么,幻读有什么问题?
  • DOM 规范 — MutationObserver 接口
  • 2022级吉林大学面向对象第三次上机测试
  • 总结841
  • SSM框架学习-bean生命周期理解
  • new BroadcastChannel(),BroadcastChannel API使用介绍
  • 这就是实力~ 腾讯云大咖亲码 “redis深度笔记” 无废话全精华
  • 洗稿伪原创工具-洗稿生成器
  • SSM框架详解,实现高效优雅的Java Web开发
  • 【前端面经】CSS-浮动和清除浮动的方式
  • ePWM模块-时基模块(2)
  • Postgresql+Springboot yml基本使用
  • 通用操作日志处理方案
  • Vue如何使用富文本编辑器
  • PyTorch数据加载工具:高效处理常见数据集的利器
  • lombok常用的注解及使用方法
  • 实现前后端分离的登陆验证token思路
  • SpringBoot【开发实用篇】---- 配置高级
  • uniapp和小程序如何分包,详细步骤手把手(图解)
  • Java ——线程池
  • GitHub上的AutoGPT神秘的面纱
  • 100种思维模型之蝴蝶效应思维模型-56