一、迪米特法则介绍
迪米特法则(Demeter Principle)又叫最少知道原则。它是指一个类对自己依赖的类知道得越少越好。也就是说,对于被依赖的类,不管多么复杂,都尽量将逻辑封装在类的内部,对外除了提供public方法外,不对外泄露任何消息。
迪米特法则还有一个更简单的定义:只与直接朋友通信。这里的直接朋友的定义是:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,如依赖、关联、组合、聚合等。其中,我们称出现成员变量、方法参数、方法返回值中的类为直接的朋友,而出现在局部变量中的类不是直接朋友,也就是说,陌生的类最好不要以局部变量的形式出现在类的内部。
二、案例讲解
有一个学校,下属有各个学院和总部,现要求打印出学校总部员工ID和学院员工ID。代码如下:
//学校总部员工类
public class Employee{
private String id;
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
}
//学院的员工类
public class CollegeEmployee{
private String id;
public String getId(){
return id;
}
public void setId(String id){