Definition
Law of Demeter,即迪米特法则,又叫作最少知识原则(Least Knowledge Principle,简写为LKP)。一个类对于其他类知道的越少越好,就是说一个对象应该对其他对象尽可能少的了解,只和朋友通信,不和陌生人说话。
类的成员变量,方法的输入参数、输出参数作为朋友,而方法体内的类不是朋友。
Advantage
- 降低了类与类之间的耦合性。
Code Example
Manager类增加了与Course类的耦合性,根据迪米特法则,可以调整为将Manager类与Course类的逻辑变成Teacher类与Course类的逻辑。
只做出如下调整: