迪米特法则: 最少知道原则,即一个类对自己依赖的类知道的越少越好
迪米特法则代码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());
}
注意事项:
- 迪米特法则的核心是降低类之间的耦合;
- 由于每个类都减少了必要的依赖,但是迪米特法则只是要求降低类间(对象间)的耦合,并不是要求完全没有依赖关系;

本文深入探讨了迪米特法则,即最少知道原则,通过具体代码示例展示了如何在类设计中应用该原则来降低对象间的耦合度,强调了减少依赖对于软件设计的重要性。
760

被折叠的 条评论
为什么被折叠?



