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

SOLID原则学习【目录篇】

在这里插入图片描述

文章目录

  • 1. 前言
  • 2. ‘S’--单一职责原则(Single Responsibility Principle)
  • 3. ‘O’--开闭原则
  • 4. ‘L’--里氏替换原则
  • 5. ‘I’--接口隔离原则
  • 6. ‘D’--依赖倒置原则
  • 参考


1. 前言

SOLID原则是面向对象设计(OOD)中五个核心设计原则的首字母缩写,由罗伯特·C·马丁(Robert C. Martin)在21世纪初提出。这些原则旨在提高软件的可维护性、灵活性和可扩展性。

学习和掌握SOLID原则,好处多多:

  • 提高代码质量:遵循这些原则可以帮助你编写更干净、更可维护的代码。
  • 降低维护成本:良好的设计使得代码更易于理解和修改,从而降低长期维护成本。
  • 增强系统的灵活性和可扩展性:使得系统更容易适应变化,便于添加新功能。
  • 促进团队协作:统一的设计原则有助于团队成员之间的沟通和协作。
  • 减少错误和缺陷:减少代码中的错误,提高软件的稳定性和可靠性。

下面我们逐一了解,如果对其中某一项原则的细节感兴趣,请按连接进行跳转,欢迎各位小伙伴评论,交流。


2. ‘S’–单一职责原则(Single Responsibility Principle)

  • 定义:一个类应该只有一个发生变化的原因。
  • 学习原因:有助于创建松耦合的代码,使得类更容易理解和维护。

3. ‘O’–开闭原则

  • 定义:软件实体应该对扩展开放,对修改关闭。
  • 学习原因:鼓励通过添加新代码来扩展功能,而不是修改现有代码,从而提高代码的稳定性和可维护性。

4. ‘L’–里氏替换原则

  • 定义:子类对象必须能够替换其基类对象,且不改变程序的行为。
  • 学习原因:有助于确保继承关系中子类的正确性和一致性,使得代码更可靠。

5. ‘I’–接口隔离原则

  • 定义:不应该强迫客户依赖于它们不使用的方法。
  • 学习原因:通过定义更小、更具体的接口,减少类之间的依赖关系,提高系统的灵活性和可维护性。

6. ‘D’–依赖倒置原则

  • 定义:高层模块不应依赖于低层模块,两者都应该依赖于抽象;抽象不应依赖于细节,细节应依赖于抽象。
  • 学习原因:有助于降低模块间的耦合度,提高系统的稳定性和可扩展性。

参考

【1】SOLID原则:现代软件架构的永恒基石
【2】工作这么久,才明白的SOLID设计原则
【3】solid原则(面相对象的七大原则)


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

相关文章:

  • 【C++打怪之路Lv16】-- map set
  • 输入json 达到预览效果
  • uni-app 蓝牙开发
  • 在 Django 中创建和使用正整数、负数、小数等数值字段
  • 用shell脚本写一个通用的监听程序异常并重启脚本
  • 【.net core】【sqlsugar】子查询时的注意事项(持续更新)
  • Ubuntu20.04下安装VSCode(配置C/C++开发环境)和设备树插件用于嵌入式开发
  • ESP32学习笔记_Peripherals(1)——UART
  • 企业建站高性能的内容管理系统
  • Swagger记录一次生成失败
  • 关于IDE的相关知识之一【使用技巧】
  • python(四)os模块、sys模块
  • git如何给历史提交打标签
  • 【Vue2.x】vue-treeselect修改宽度、回显
  • 电脑无互联网连接怎么解决?分享5种解决方案
  • (0基础保姆教程)-JavaEE开课啦!--11课程(初识Spring MVC + Vue2.0 + Mybatis)-实验9
  • SpringBoot源码-Spring Boot启动时控制台为何会打印logo以及自定义banner.txt文件控制台打印
  • SQL操作语句回顾
  • Rook入门:打造云原生Ceph存储的全面学习路径(下)
  • 电脑鼠标不动了没反应怎么办?查看修复方法
  • HTML5的新特性
  • CentOS7安装nvm
  • Vue3+node.js实现登录
  • HTML 画布:网页上的创意绘图板
  • HarmonyOS开发:DevEco Studio的Beta3(5.0.5.200)新增和增强特性
  • TCP 连接池(**TCP Connection Pool**)