定义
迪米特法则(Law of Demeter, LoD):一个软件实体应当尽可能少地与其他实体发生相互作用。也叫:最少知识原则
- 迪米特法则要求限制软件实体之间通信的宽度和深度
- 迪米特法则可降低系统的耦合度,使类与类之间保持松散的耦合关系
解释
- 不要和“陌生人”说话
- 只与你的直接朋友通信
朋友包括:
(1) 当前对象本身(this)
(2) 以参数形式传入到当前对象方法中的对象
(3) 当前对象的成员对象
(4) 如果当前对象的成员对象是一个集合,那么集合中的元素也都是朋友
(5) 当前对象所创建的对象 - 通过引入一个合理的第三者来降低现有对象之间的耦合度
示例

缺点:耦合度太高,不利于修改
改进方法:通过第三方来转发请求

网友评论