OOD设计原则之迪米特法则(LoD)
来源:互联网 发布:搞笑视频源码 编辑:程序博客网 时间:2024/06/05 14:28
迪米特法则(Law of Demeter, LoD)又叫最少知识原则(Least Knowledge Principle, LKP)。1987年秋天由美国Northeastern University的Ian Holland提出,被UML的创始者之一Booch等普及。后来,因为在经典著作《 The Pragmatic Programmer》而广为人知。
迪米特法则可以简单说成:talk only to your immediate friends。 对于面向OOD来说,又被解释为下面几种方式:
一个软件实体应当尽可能少的与其他实体发生相互作用。
每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。
迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。
迪米特法则不希望类直接建立直接的接触。如果真的有需要建立联系,也希望能通过它的友元类来转达。因此,应用迪米特法则有可能造成的一个后果就是:系统中存在大量的中介类,这些类之所以存在完全是为了传递类之间的相互调用关系——这在一定程度上增加了系统的复杂度。
有兴趣可以研究一下设计模式的门面模式(Facade)和中介模式(Mediator),都是迪米特法则应用的例子。
值得一提的是,虽然Ian Holland对计算机科学的贡献也仅限于这一条法则,其他方面的建树不多,但是,这一法则却不仅仅局限于计算机领域,在其他领域也同样适用。比如,美国人就在航天系统的设计中采用这一法则。
- OOD设计原则之迪米特法则(LoD)
- 设计模式六大原则之--迪米特法则(LoD)
- 设计模式之迪米特法则LoD(最少知识原则)
- OOD设计原则之迪米特法则
- 设计模式六大原则——迪米特法则(LoD)
- 设计模式之六大原则——迪米特法则(LoD,LKP)
- 设计模式之六大原则——迪米特法则(LoD,LKP)
- 设计模式之六大原则——迪米特法则(LoD,LKP)
- 设计模式之六大原则——迪米特法则(LoD,LKP)
- 设计模式之六大原则——迪米特法则(LoD,LKP)
- 设计模式之六大原则——迪米特法则(LoD,LKP)
- 六大原则之“迪米特法则(LoD)“笔记
- 六大原则之“迪米特法则(LoD)“笔记
- 迪米特法则(LoD)-最少知识原则
- 软件设计原则----迪米特法则(LoD)
- 软件设计原则----迪米特法则(LoD) .
- IOS设计模式的六大设计原则之迪米特法则(LOD,Law Of Demeter)
- 设计模式六大原则(五)-- 最少知识原则 ( LKP ) / 迪米特法则 ( LOD )
- Mashup -- SOA 的发展之路,第 1 部分: Web 2.0 和基础概念
- 选择
- 用 AjaxTags 简化 Ajax 开发
- Sqlite DB
- 住在树上
- OOD设计原则之迪米特法则(LoD)
- ASP.NET 2.0应用程序添加ASP.NET AJAX 组件引用之web.config配置
- Thinking XML: Firefox 2.0 和 XML
- Java SE 6 新特性: 对脚本语言的支持
- 应用程序架构本质,第 5 部分: 在设计中内置流程管理遵从性
- JS比较两个数值的大小
- Python 中的元类编程,第 3 部分
- JS比较两个数值的大小
- HR必杀技:主管们常用的七大怪招