迪米特法则定义:一个软件实体对其他实体的引用越少越好,换句话说,如果两个类不彼此直接通信,那么这两个类就不应当发生直接的相互作用,而是通过一个第三者发生间接交互。
怎么理解?
先看一下,它的别称是最少知道原则,就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人讲话。
它的初衷是降低或减少类之间的耦合,也就减少了对其他类的依赖,如此会容易使得系统的功能模块独立。
我们的门面模式(Facade)和中介模式(Mediator),就是采用这个思想;
用户只需要和门面进行打交道,而无需和具体子系统中的模块进行对接;