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

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

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

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

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

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

相关推荐
染指11107 小时前
140.Agent-多Agent框架-Agent执行Skills流程
数据库·人工智能·设计模式·langchain·agents
sarasuki12 小时前
Agent 是怎么做错误处理的呢?
人工智能·设计模式·agent
A1Book12 小时前
从 0 设计历史专题资料汇编的 AI Agent 编排架构——六轮真实任务复盘
设计模式
geovindu2 天前
rust: Simple Factory Pattern(续)
后端·设计模式·rust·简单工厂模式·创建型模式
喜欢coding的谢同学2 天前
Go语言常用设计模式基础和实践案例介绍
开发语言·设计模式·golang
sarasuki2 天前
Agent 的记忆有几种?你的名字是?
人工智能·设计模式·agent
geovindu3 天前
rust: Flyweight Pattern
开发语言·后端·设计模式·rust·享元模式·结构型模式
沫璃染墨3 天前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
十六宿舍3 天前
【软件设计模式-第一课:基础知识了解】
设计模式·架构·面向对象·软件架构
geovindu3 天前
rust: Facade Pattern
开发语言·后端·设计模式·rust·外观模式