5. 迪米特法则(Law of Demeter,LoD)
5.1 定义
(1)应尽量减少其他对象之间的交互,对象只和自己的朋友交谈,即对其他依赖的类越少越好(不要和太多的类发生关系)。
(2)尽量不要让类和类之间建立直接的关系,这样可减少类与类之间的依赖,降低类之间的耦合。
(3)一个类应对自己需要耦合的类知道得最少,只知道其public方法,其内部如何复杂自己没有关系,也叫最少知识原则(Least Knowledge Principle,LKP)。
5.2 迪米特法则:核心要义就是类间解耦、低耦合
(1)只和直接朋友交流
①直接朋友的定义:出现在成员变量、方法的输入参数和返回值的类称为朋友类
②非朋友:出现在方法体内部的类
【编程实验】体育委员点名
//违反LoD的设计