2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 设计模式-设计原则之迪米特原则

设计模式-设计原则之迪米特原则

时间:2020-02-28 15:52:28

相关推荐

设计模式-设计原则之迪米特原则

例子

假设老板给项目组长下达一个任务,让其去查询课程的数量

代码

public class Course {}

public class TeamLeader {public void checkNumberOfCourses(List<Course> courseList) {System.out.println("课程的数量为:" + courseList.size());}}

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

测试

public class Test {public static void main(String[] args) {Boss boss = new Boss();TeamLeader teamLeader = new TeamLeader();mandCheckNumber(teamLeader);}}

这部分代码是不符合迪米特原则的,在Boss类中,成员变量,方法的返回值,形参均为“朋友”,而方法内部的局部变量不是朋友,迪米特原则就是强调只和朋友说话,不和陌生人说话,在上述代码中Boss应该只需要项目组长TeamLeader汇报给他一个结果就行了,中间有关于Course的部分不需要知道,修改之后的代码如下:

其他类均不变,只改变Boss类和TeamLeader

public class TeamLeader {public void checkNumberOfCourses() {List<Course> courseList = new ArrayList<Course>();for (int i = 0; i < 20; i++) {courseList.add(new Course());}System.out.println("课程的数量为:" + courseList.size());}}

public class Boss {public void commandCheckNumber(TeamLeader teamLeader) {teamLeader.checkNumberOfCourses();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。