Java设计原则(五)迪米特法则(最少知道原则)

迪米特法则

定义

一个对象应该对其他对象保持最少的了解。又叫最少知道原则
尽量降低类与类之间的耦合

优点

降低类之间的耦合

强调

只与朋友交流,不和陌生人说话。
朋友:
	出现在成员变量、方法的输入、输出参数中的类称为成员朋友类,
	而出现在方法体内部的类不属于朋友类

代码演示

public class Course {
}

public class Employee {

    public void checkNumberOfCourse(List<Course> courseList) {
        System.out.println("目前已发布课程数量:" + courseList.size());
    }
}

public class TeamLeader {
    public void commandCheckNumber(Employee employee){
        List<Course> courseList = new ArrayList<>();
        for (int i = 0; i <20 ; i++) {
            courseList.add(new Course());
        }
        employee.checkNumberOfCourse(courseList);
    }
}

public class LodTest {
    public static void main(String[] args) {
        TeamLeader teamLeader = new TeamLeader();
        Employee employee = new Employee();
        teamLeader.commandCheckNumber(employee);
    }
}

优化后的代码:

public class Course {
}

public class Employee {

    public void checkNumberOfCourse() {
        List<Course> courseList = new ArrayList<>();
        for (int i = 0; i <20 ; i++) {
            courseList.add(new Course());
        }
        System.out.println("目前已发布课程数量:" + courseList.size());
    }
}

public class TeamLeader {
    public void commandCheckNumber(Employee employee){
        employee.checkNumberOfCourse();
    }
}

public class LodTest {
    public static void main(String[] args) {
        TeamLeader teamLeader = new TeamLeader();
        Employee employee = new Employee();
        teamLeader.commandCheckNumber(employee);
    }
}

总结:
功能的需求是项目经理问员工目前已发布的课程有多少,在这个过程中,项目经理只需要知道员工告诉他的结果而不需要直接与课程接触。

你可能感兴趣的:(Java设计原则)