迪米特法则: 最少知道原则,即一个类对自己依赖的类知道的越少越好
迪米特法则代码2:
/**
* 学校总部员工类
*/
class Employee {
// 员工编号
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
/**
* 学校分院员工类
*/
class CollegeEmployee {
// 员工编号
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
/**
* 学校分院员工管理类
*/
class CollegeManager {
// 分院员工列表
public List<CollegeEmployee> getAllEmployee() {
List<CollegeEmployee> employeeList = new ArrayList<CollegeEmployee>();
for (int i = 1; i <= 10; i++) {
CollegeEmployee employee = new CollegeEmployee();
employee.setId(" 分院员工编号 = " + i);
employeeList.add(employee);
}
return employeeList;
}
/**
* 输出分院员工列表
*/
void printAllEmployee() {
List<CollegeEmployee> employeeList = getAllEmployee();
System.out.println("-分院员工列表------------- ");
for (CollegeEmployee c : employeeList) {
System.out.println(c.getId());
}
}
}
/**
* 学校总部员工管理类
*/
class SchoolManager {
// 总院员工列表
public List<Employee> getAllEmployee() {
List<Employee> employeeList = new ArrayList<Employee>();
for (int i = 1; i <= 10; i++) {
Employee employee = new Employee();
employee.setId(" 总部员工编号 = " + i);
employeeList.add(employee);
}
return employeeList;
}
/**
* 输出所有员工列表
*/
void printAllEmployee(CollegeManager collegeManager) {
// 输出分院员工列表
collegeManager.printAllEmployee();
// 输出所有员工列表
List<Employee> employeeList2 = this.getAllEmployee();
System.out.println("-总院员工列表------------- ");
for (Employee c : employeeList2) {
System.out.println(c.getId());
}
}
}
public static void main(String[] args) {
SchoolManager schoolManager = new SchoolManager();
schoolManager.printAllEmployee(new CollegeManager());
}
注意事项:
- 迪米特法则的核心是降低类之间的耦合;
- 由于每个类都减少了必要的依赖,但是迪米特法则只是要求降低类间(对象间)的耦合,并不是要求完全没有依赖关系;