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

“深入浅出”系列之设计模式篇:(0)什么是设计模式

设计模式六大原则

1. 单一职责原则:一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化。

核心思想:控制类的粒度大小,将对象解耦,提高其内聚性。

2. 开闭原则:对扩展开放,对修改关闭。即软件实体(类、模块、函数等)应该可以扩展,但是不可修改。

实现方法:通过抽象约束、封装变化来实现,即通过接口或者抽象类为软件实体定义一个相对稳定的抽象层,而将相同的可变因素封装在相同的具体实现类中。

3. 里氏替换原则:子类可以扩展父类的功能,但不能改变原有父类的功能。

核心思想:确保基类与子类之间的替换性,即子类对象可以替换基类对象,且不会导致程序的错误。

4. 依赖倒置原则:高层模块不应该依赖于低层模块,二者都应该依赖于其抽象;抽象不应该依赖于细节,细节应该依赖于抽象。

实现方法:面向接口编程,通过接口或抽象类作为参数、返回值或成员变量等,使高层模块与低层模块之间解耦。

5. 接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

核心思想:将接口拆分成更小的、更具体的接口,使客户端只需要知道它们感兴趣的方法。

6. 迪米特法则:一个对象应该对其他对象有最少的了解,只与直接朋友通信。

核心思想:限制软件实体之间通信的宽度和深度,降低系统的复杂度。


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

相关文章:

  • GMM高斯混合聚类算法(Matlab)
  • Redis 性能优化:多维度技术解析与实战策略
  • Golang Gin系列-3:Gin Framework的项目结构
  • 从 SQL 语句到数据库操作
  • 增广卡尔曼滤波AKF的要点分析
  • 《自动驾驶与机器人中的SLAM技术》ch4:预积分学
  • Objective-C语言的数据类型
  • windows蓝牙驱动开发-BLE音频(一)
  • Linux测试处理fps为30、1920*1080、一分钟的视频性能
  • BGP边界网关协议(Border Gateway Protocol)概念、邻居建立
  • 【西藏乡镇界面】图层arcgis格式shp数据有乡镇名称和编码2020年wgs84坐标内容测评
  • C++/C语言判断重复数组(zznu)⭐
  • Java算法 二叉树入门 力扣简单题相同的树 翻转二叉树 判断对称二叉树 递归求二叉树的层数
  • 刷题记录 回溯算法-16:47. 全排列 II
  • 从玩具到工业控制--51单片机的跨界传奇【3】
  • NLP入门书籍《掌握NLP:从基础到大语言模型》免费下载pdf
  • MySQL的日期时间类型
  • 《汽车维修技师》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • Vue.js组件开发-实现后端返回二进制文件在浏览器自动下载
  • 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算实践过程
  • 如何通俗易懂的理解 html js css
  • idea 如何安装 github copilot
  • WPF实现动态四宫格布局
  • 灰度发布、金丝雀部署与蓝绿部署:软件发布的三把利剑
  • Redis | 第6章 事件与客户端《Redis设计与实现》
  • Ubuntu 部署Docker + Dify,遇到的坑, 最新亲测镜像