浅析设计模式-迪米特法则
迪米特法则的英文名称是 Low of Demeter,简称LoD。也称为最少知识原则(Least Knowledge Principle,LKP)
定义
一个对象应该对其它对象有最少的了解。通俗的讲,一个类应该对自己需要耦合或调用的类知道的最少,你(被耦合的类)的内部是如何的复杂都和我没关系,我只知道你提供的public方法,我就调用那么多,其它的一概不管。
含义
迪米特法则对类的低耦合提出了明确的要求,包含一下含义:
- 只和朋友交流
- 朋友间也是有距离的
- 是自己的就是自己的
- 谨慎使用Serializable
最佳实践
迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合之后,类的复用率才可以提高,其要求的结果就是产生了大量的中转或跳转类,导致系统的复杂性提高,同时也为维护带来了难度,采用迪米特法则时需要反复权衡,既做到让结构清晰,又做到高内聚迪耦合。