迪米特法则又叫最少知识原则,就是说,一个对象应当对其他对象有尽可能少的了解.
一:狭义的迪米特法则
如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中的一个类SomeOne需要调用另一个类Stranger的某一个方法的话,可以通过第三者Friend转发这个这个调用.这个第三者可以是以参量形式传入到当前对象方法中的对象,当前对象实例变量直接引用的对象....与依赖倒转原则互补:引入一个抽象类型引用"抽象陌生人"对象,使某人依赖于"抽象陌生人",就是把"抽象陌生人"变成朋友。
二:迪米特法则与设计模式
A:门面模式
如果一个子系统内部的对象构成自己的"朋友圈",而子系统外部的对象都属于"陌生人"的话,那么子系统外部的对象与内部的对象就不应当直接通信,而应当通过一个双方都认可的朋友,也就是"门面"对象进行通信,这就导致了门面模式.
B:调停者模式
如果有很多个类,它们之间相互调用,这时可以创造出一个大家共用的朋友,然后大家都通过这个朋友对象发生作用,而相互之间的直接相互作用省略掉,这就导致了调停都模式.
三:广义迪米特法则在类的设计上的体现
(1)优先考虑将一个类设置成不变类
(2)尽量降低一个类的访问权限
(3)谨慎使用Serializable.
(4)尽量降低成员的访问权限。
分享到:
相关推荐
设计模式6大原则:迪米特法则
迪米特法则LoD.zip
NULL 博文链接:https://364232252.iteye.com/blog/2371236
简单代码解释迪米特法则,代码可能比较简单,而且也没有什么编程规范,重在解释而已。
android设计模式迪米特法则_慈禧太后为何不和陌生人说话.pdf
主要介绍了迪米特法则,迪米特法则就是一个在类创建方法和属性时需要遵守的法则,有兴趣的可以了解一下
开发中常见一种模式之一,在简化其开发步骤,完成同样的工作开发中常见一种模式之一,在简化其开发步骤,完成同样的工作隐藏>>
迪米特法则1
设计模式中的迪米特法则,比较详细介绍了迪米特法则,有C#示例。
迪米特法则 是面向对象设计中很重要的一种设计规则
迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 类的设计接口尽量封装完善,让外部直接...
提醒你一下,有个类似的例子在之前的第 15 节课中讲过,你可以结合着一块儿看一下。复制代码public class Document {private Html
主要介绍了Java的设计模式编程中迪米特法则的应用示例,迪米特法则中主张创建和使用弱耦合的类,需要的朋友可以参考下
所有的设计模式Java实现。 第一讲:简单工厂模式 第二讲:工厂方法模式 第三讲:抽象工厂模式 第四讲:工厂模式在开发中的运用 第五讲:单例模式 ...第二十九讲:迪米特法则 第三十讲:设计模式总结
设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):...设计模式六大原则(5):迪米特法则 设计模式六大原则(6):开闭原则
设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):...设计模式六大原则(5):迪米特法则 设计模式六大原则(6):开闭原则
设计模式的表述格式 ...定义:迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 还有一