面象对象设计6大原则之六:迪米特原则

简介: 迪米特原则(LOD),The Law Of Demeter,也称为最少知识原则定义一个对象应该对其他对象有最少的了解。也就是说一个类耦合和调用一个类应该知道的最少,它只关心被耦合和调用的类的公共方法,而被耦合和调用的类如何复杂它并不关心。

迪米特原则(LOD),The Law Of Demeter,也称为最少知识原则

定义

一个对象应该对其他对象有最少的了解。

也就是说一个类耦合和调用一个类应该知道的最少,它只关心被耦合和调用的类的公共方法,而被耦合和调用的类如何复杂它并不关心。这在另一程度也说明类方法的最小权限性,不要随意定义public公开方法,你只公开你需要公开的。

迪米特原则对类的低耦合度提出了以下几点要求:

1、只和朋友类交流

类与类之间的交流无需知道内部结构,其内部与其他陌生类打交道我并不关心。

2、朋友类之间的距离

一个类公开的属性和方法越多,其被修改的可能性也会更大,所以在设计一个的时候要权衡利弊,把范围定义在合理的范围内。

所以,迪米特很明显的优点是低耦合度,提高了系统的可维护性和可扩展性。 但另一方面,为了满足这些特性而又不得不增加很多包装的类或方法,这在一定程度上也就提高了类的复杂性。

相关文章
|
6月前
|
设计模式 Java 数据库
Java设计模式七大原则-依赖倒转原则
Java设计模式七大原则-依赖倒转原则
59 0
|
4月前
|
设计模式 存储 自然语言处理
Java面向对象设计七大原则
Java面向对象设计七大原则
70 0
|
6月前
|
设计模式 Java
Java设计模式七大原则-迪米特法则
Java设计模式七大原则-迪米特法则
33 0
|
6月前
|
设计模式 Java
Java设计模式七大原则-单一职责原则
Java设计模式七大原则-单一职责原则
32 0
|
设计模式 测试技术 uml
面向对象设计的九大基本原则 (GRASP)
面向对象设计的九大基本原则 (GRASP)
1001 0
|
设计模式
设计模式七大原则——迪米特原则
设计模式七大原则——迪米特原则
设计模式七大原则——迪米特原则
|
设计模式 uml
设计模式七大原则——合成复用原则
设计模式七大原则——合成复用原则
设计模式七大原则——合成复用原则
|
设计模式
设计模式(十二)迪米特原则(最少知识原则)
迪米特(最少知识)法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
120 0
设计模式(十二)迪米特原则(最少知识原则)
|
设计模式 Java 程序员
【不就是java设计模式吗】设计模式七大原则,用代码对比方式,化抽象为具体,实打实的教会你
【不就是java设计模式吗】设计模式七大原则,用代码对比方式,化抽象为具体,实打实的教会你
【不就是java设计模式吗】设计模式七大原则,用代码对比方式,化抽象为具体,实打实的教会你
|
设计模式
【设计模式】软件设计七大原则 ( 迪米特原则 | 代码示例 )
【设计模式】软件设计七大原则 ( 迪米特原则 | 代码示例 )
93 0