设计模式-设计原则之迪米特原则
例子
假设老板给项目组长下达一个任务,让其去查询课程的数量
代码
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();boss.commandCheckNumber(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();}
}
设计模式-设计原则之迪米特原则相关推荐
- 软件设计原则之接口隔离原则、合成复用原则、迪米特原则
系列文章目录 软件设计原则之单一职责原则.开闭原则 软件设计原则之里氏替换原则.依赖倒置原则 软件设计原则之接口隔离原则.合成复用原则.迪米特原则 文章目录 系列文章目录 一.接口隔离原则 什么是接口 ...
- 设计原则之迪米特原则
迪米特原则 Law of Demeter, LOD 迪米特原则定义 迪米特原则也叫最小知识原则(The Least Knowledge Principle).即,每个模块只应该了解那些与它关系密切的模 ...
- 【学习笔记】慕课网—Java设计模式精讲 第3章 软件设计七大原则-3-6 迪米特原则(最少知道原则)...
/** * 软件设计七大原则-迪米特原则 学习笔记 * @author cnRicky * @date 2018.11.10 */ 迪米特原则(最少知道原则) 一个对象应该对其他对象保持最少的了解.又 ...
- 六大设计原则之迪米特原则
迪米特原则的定义 迪米特原则(Law of Demeter,LoD),也叫最少知识原则(Low knowledge Principle,LKP): 一个对象应该对其他对象有最少的了解. 通俗的讲:一个 ...
- C# 设计原则 之 迪米特 原则
迪米特法则又叫作最少知道原则,一般设计用于 对类内部 进行 合适的封装. 下面举例: 人关闭电脑的 示例 1.1没有实现 迪米特原则的 代码 namespace 迪米特 {internal class ...
- 设计模式:六大原则之迪米特原则
迪米特原则 基本介绍 定义:迪米特法则也称为最少知识原则,即一个对象应该对其他对象有最少的了解.通俗地说,一个类应该对自己需要耦合或调用的类知道的最少,被调用或耦合的类的内部是如何复杂都和我没有关系. ...
- 面向对象的六大原则之 —— 迪米特原则
学习了何红辉.关爱民写的<Android设计模式>,对于面向对象的六大原则有进一步的理解,特此根据自己的理解记录总结一下 什么是迪米特原则 也称为最少知识原则,意思就是一个对象应该对其他对 ...
- 程序设计原则之迪米特原则
一.什么是迪米特原则 迪米特原则也叫最小知道原则,即对其他的类尽量保持最少知道.只关心自己的直接朋友类,而不关心其他的类. 直接朋友类:出现在自己的域中.方法入参中.方法出参中的类叫直接朋友类:那些在 ...
- 设计模式(6)之七大原则之迪米特原则
一.定义 迪米特法则(Law of Demeter,LoD)又叫作最少知识原则(Least Knowledge Principle,LKP),产生于 1987 年美国东北大学(Northeastern ...
最新文章
- 硬件信息统计_读取输出Excel_显示进度
- android gc 回调,android - 使用Picasso通过Bitmap获取回调
- 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE
- 微软职位内部推荐-SW Engineer II for Skype
- 简单PHP留言板之四 —— 添加留言
- 逛街游戏html5,HTML5购物商城app源码
- dhtmlxGantt 版本比较-Crack
- 2021年全国大学生计算机能力挑战赛(Java)决赛试题代码(外加部分试题)
- 服务器同时连接局域网和外网
- 关于nginx配置负载均衡,nginx.conf配置文件正确,一直跳出nginx欢迎界面
- BugKu 你必须让他停下来
- 学python入门基础教程[推荐]
- FCoin爆雷,大咖答主教你如何挽回损失 | 一周问答热议
- 蓝桥杯Java B组2015年真题
- 2000-2018年融资约束SA指数计算命令和数据
- 计算机考研复试-离散数学
- MATLAB循环调用函数使用并行池指南(带非官方实际例子)
- 月黑风高夜!把室友的STM32换成了GD32
- 两级式光伏并网逆变器,DCDC环节采用boost电路,通过增量电导法实现光伏最大功率跟踪MPPT
- 语音转文字—文字转语音—科大讯飞SDK——LabVIEW实现