迪米特法则
来源:互联网 发布:启源互动网络销售什么 编辑:程序博客网 时间:2024/05/03 15:28
迪米特法则
迪米特法则(Law of Demeter)又叫作最少知道原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.百度百科
小路完成了接口隔离,就主动上网开始查询一些设计原则,今天终于学到了迪米特法则。
迪米特法则就是尽量减少间接引用,可是这就是如此的抽象,该如何理解呢?那就让我想起了另外一句俗语:“不要隔着锅台上炕”(不要越级汇报)。
这样是不是就很容易理解了呢,尽量不要知道上级的上级是怎么工作的,只要知道你应该和上级说什么做什么就可以了。
那就上代码吧
//总公司员工class Employee{ private String id; public void setId(String id){ this.id = id; } public String getId(){ return id; }}//分公司员工class SubEmployee{ private String id; public void setId(String id){ this.id = id; } public String getId(){ return id; }}class SubCompanyManager{ public List<SubEmployee> getAllEmployee(){ List<SubEmployee> list = new ArrayList<SubEmployee>(); for(int i=0; i<100; i++){ SubEmployee emp = new SubEmployee(); //为分公司人员按顺序分配一个ID emp.setId("分公司"+i); list.add(emp); } return list; } public void printEmployee(){ List<SubEmployee> list = this.getAllEmployee(); for(SubEmployee e:list){ System.out.println(e.getId()); } }}class CompanyManager{ public List<Employee> getAllEmployee(){ List<Employee> list = new ArrayList<Employee>(); for(int i=0; i<30; i++){ Employee emp = new Employee(); //为总公司人员按顺序分配一个ID emp.setId("总公司"+i); list.add(emp); } return list; } public void printAllEmployee(SubCompanyManager sub){ sub.printEmployee(); List<Employee> list2 = this.getAllEmployee(); for(Employee e:list2){ System.out.println(e.getId()); } }}public class Client{ public static void main(String[] args){ CompanyManager e = new CompanyManager(); e.printAllEmployee(new SubCompanyManager()); }}
话不多说,小路已经开始分析代码了~
0 0
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- 迪米特法则
- iOS中NSThread线程
- GraphicsMagick安装
- iOS黑魔法-Method Swizzling
- 图像处理学习笔记(深度学习+三维图形+机器学习+图像处理)
- JS闭包
- 迪米特法则
- linux 程序后台运行
- 日志文件整理(PHP面试题)
- IT 码农的觉悟
- Linux的目录结构
- 微信小程序添加使用外部字体
- CDMA模块AT指令
- 2017.02.27:关系型数据库
- css3 translate实现表头固定