Table of Contents
德米特定律是开发软件的设计指南,特别是在面向对象的编程中. 德米特定律旨在减少对象之间的依赖性,使系统更加模块化,更容易维护,更不易发生错误.
理解地铁法
通常被概括为"只与你的近亲交谈"的Demeter定律鼓励对象只与其直接合作者沟通. 这意味着对象只应引用以下方法: .
- 自己来
- 以参数表示的物体
- 它创建的对象
- 它的直接组件对象
通过遵守这一规则,对象的依赖性被降到最低,减少了紧接合的风险,使代码更容易更改或扩展.
执行《地铁法》
执行《地铁法》涉及设计无法深入到对象图中的类别和方法。
order.getCustome (. getAddress (. getCity () ] 命令.getCustome (.
最好提供一种直接返回必要信息的方法:
order.getCustomecity () ] 命令. getCustomecity () ] 命令.
重构提示
- 将复杂的链条封装在类本身内.
- 创建仅披露必要数据的方法。
- 使用像Facade或Interactor这样的设计模式来减少依赖性.
- 保持各班集中负责单一责任.
遵守《地铁法》的好处
遵守这项法律可提供若干好处:
- 减少各班之间的联动。
- 增强代码可读性和可维护性.
- 通过隔离对象使单位测试更加容易.
- 方便代码的重构和扩展.
总之,在面向对象的设计中实施Demeter定律,可以促进更清洁,更模块化的代码,它鼓励开发者仔细思考对象相互作用和依赖性,从而导致更强大的软件系统.