一、什么是迪米特法则?
每个软件实体对其他的实体只有最少的了解,而且仅限于那些与本实体密切相关的软件实体
。
也可说成:
只与直接的朋友通信
。
二、狭义迪米特法则
如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中的一个类需要调用另一个类的方法,可通过第三者来转发。
狭义迪米特法则有一个明显的缺点:会在系统里产生大量的小方法,而且很可能散落在各个角落。会导致不同模块之间的通信效率降低,不容易协调。
为了弥补这个缺点,可结构依赖倒转原则。依赖于抽象的陌生人。也就是添加抽象陌生人,然后说将抽象陌生人当作朋友。
三、广义迪米特法则
广义迪米特法则要求尽可能的隐藏实现细节:
(1)
优先将一个类设置成不变类。
(2)
尽量降低一个类的访问权限
(3)
尽量降低成员的访问权限
(4)
限制局部变量的有效范围
分享到:
相关推荐
迪米特法则LoD.zip
设计模式6大原则:迪米特法则
简单代码解释迪米特法则,代码可能比较简单,而且也没有什么编程规范,重在解释而已。
android设计模式迪米特法则_慈禧太后为何不和陌生人说话.pdf
NULL 博文链接:https://364232252.iteye.com/blog/2371236
开发中常见一种模式之一,在简化其开发步骤,完成同样的工作开发中常见一种模式之一,在简化其开发步骤,完成同样的工作隐藏>>
主要介绍了迪米特法则,迪米特法则就是一个在类创建方法和属性时需要遵守的法则,有兴趣的可以了解一下
迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 类的设计接口尽量封装完善,让外部直接...
迪米特法则1
设计模式中的迪米特法则,比较详细介绍了迪米特法则,有C#示例。
提醒你一下,有个类似的例子在之前的第 15 节课中讲过,你可以结合着一块儿看一下。复制代码public class Document {private Html
主要介绍了Java的设计模式编程中迪米特法则的应用示例,迪米特法则中主张创建和使用弱耦合的类,需要的朋友可以参考下
Flyweight.rarFlyweight.rarFlyweight.rarFlyweight.rar享元设计模式
UML教程(1)-概述.ppt
5.迪米特法则还有一个更简单的定义:只与直接的朋友通信。其中,我们称出现成员变量、方法参数、方法返回值中的类为直接的朋友,而出现在局部变量中的类则不是直接的朋友。也就是说,陌生的类最好不要作为局部变量的...
第1章 模式的简史和形而上学 第2章 统一建模语言UML简介 第3章 软件的可维护性和可复用性 ...第11章 迪米特法则 第12章 简单工厂模式 第13章 工厂方法模式 第14章 抽象工厂模式 第15章 单例模式 第16章 .......
目录 代序… 四大发明之活字印刷一一面向对象思想的胜利 面试受挫一一代码无错就是好? 代码规范、重构 ...一一聊设计模式迪米特法则 有了门面,程序员的程序会更加体面 设计模式不能戏说!设计模式怎就不能戏说?