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

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

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

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

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

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

相关推荐
程序员贺加贝2 分钟前
列表导出不够用-SaaS-ERP-单据详情导出的-Provider-模板与文档型-Excel-设计
java·后端·设计模式·架构·excel
AI人工智能+电脑小能手18 小时前
大白话说Java设计模式-34-命令模式(业务实战篇)
java·spring·设计模式·命令模式·异步任务·撤销重做·事务封装
用户2022522150619 小时前
字节发布"豆包工作",我从AI PM角度看到的不是功能,是上下文
设计模式
AI人工智能+电脑小能手21 小时前
大白话说Java设计模式-37-中介者模式(源码剖析篇)
java·设计模式·线程池·中介者模式·源码分析·executor·applicationeventmulticaster
电子科技圈1 天前
IAR与东软睿驰达成战略合作,强化软件开发效率与生态协作
设计模式·开源·软件工程·软件构建·代码规范·设计规范·代码复审
吴声子夜歌1 天前
Java面试——设计模式(四)
java·设计模式·面试
吴声子夜歌2 天前
Java面试——设计模式(一)
java·设计模式·面试
吴声子夜歌2 天前
Java面试——设计模式(二)
java·设计模式·面试
Larcher3 天前
SDD 项目开发步骤与提示词
人工智能·设计模式·架构
阿无,3 天前
设计模式之责任链模式
设计模式·责任链模式