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

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

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

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

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

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

相关推荐
geovindu10 小时前
go: Proxy Pattern
开发语言·后端·设计模式·golang·代理模式
A-Jie-Y12 小时前
JAVA23种设计模式
java·设计模式
小程故事多_8015 小时前
Claude Code 全流程梳理,从需求输入到工具执行的完整逻辑
人工智能·设计模式·智能体·claude code·harness
cui178756818 小时前
排队免单模式:从爆火到优化,探寻实体商业新出路
大数据·人工智能·设计模式·个人开发·设计规范
医疗信息化王工18 小时前
26种不良事件表单的通用设计模式与实现
设计模式
mounter62519 小时前
【内核精进】Linux Kernel 设计模式(一):引用计数与可见性的艺术
linux·设计模式·linux kernel
workflower19 小时前
机器人应用-高空立面清洁
人工智能·深度学习·设计模式·机器人·软件工程·软件构建
likerhood19 小时前
设计模式:原型模式(Prototype Pattern)java版本
java·设计模式·原型模式
小程故事多_801 天前
从Claude Code源码中,拆解13个可直接复用的Agentic Harness设计模式(生产级实战解析)
人工智能·设计模式·智能体·claude code·harness
踩着两条虫2 天前
VTJ 平台六大设计模式落地实战指南
开发语言·前端·人工智能·低代码·设计模式·重构·架构