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

设计模式-七个基本原则之一-迪米特法则 + 案例

迪米特法则:(LoD) 面向对象七个基本原则之一

  • 只与直接的朋友通信:对象应只与自己直接关联的对象通信,例如:方法参数、返回值、创建的对象。
  • 避免“链式调用”:尽量避免通过多个对象链进行调用。例如,a.getB().getC().doSomething()这种形式不符合迪米特法则。
      目的
  • 降低耦合:通过减少对象之间的依赖关系,提高系统的可维护性和可扩展性。
  • 提高灵活性:使得对象的内部实现可以独立变化,而不影响外部使用者。
  • 对象之间越少知道越好。

        例如,汽车有三个类 Car Engine  Driver

        这三个类里面Car与Engine交互是符合迪米特法则的

        Driver如果与Car的内部结构Engine交互则视为增加了耦合度,不符合迪米特法则


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

相关文章:

  • pytest 参数介绍
  • Kivy,跨平台UI的艺术家
  • java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
  • C++ 如何将 gRPC集成到机器人系统中
  • 针对数据库系统安全的漏洞扫描加固工具【WebSocket + MySQL】
  • 网络基础1 http1.0 1.1 http/2的演进史
  • 【WRF模拟】全过程总结:WPS预处理及WRF运行
  • Mybatis拦截器中获取@RequestBody表单的值修改查询SQL
  • redis的部署方式详解
  • 「QT」几何数据类 之 QLine 整型直线类
  • IP可用端口扫描器工具(bun + typescript)
  • Debezium系列之:Debezium 中的增量快照
  • 数据结构之排序--选择排序详解
  • MATLAB和Python多语高维转录分析
  • 在 Vue 中实现与优化轮询技术
  • JMeter基础篇
  • react useRef
  • 水库汛限水位是什么?如何进行安全监测
  • Android HandlerThread 基础
  • 修复 Ubuntu中 “Command ‘python’ not found” 的错误
  • 软件工程概论项目(一),git环境的配置和平台代码的拉取
  • 电子设计竞赛准备经历分享
  • w025基于SpringBoot网上超市的设计与实现
  • 数据分析:16s扩增子网络分析之SparCC
  • java.lang.NoClassDefFoundError: org/springframework/aot/AotDetector问题解决
  • ubuntu 安装 mongodb 笔记记录