博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象设计原则 迪米特法则(Law of Demeter)
阅读量:6768 次
发布时间:2019-06-26

本文共 573 字,大约阅读时间需要 1 分钟。

迪米特法则(Law of Demeter)

又叫作最少知识原则(Least Knowledge Principle 简写LKP),英文简写为: LoD.

 

这是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略。

迪米特法则可以简单说成:talk only to your immediate friends。

即 只和自己直接的 "朋友" 交谈。

 

对于OOD来说,又被解释为下面几种方式:

一个软件实体应当尽可能少的与其他实体发生相互作用。

每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。

迪米特法则的初衷在于降低类之间的耦合。

由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。

迪米特法则不希望类之间建立直接的联系。如果真的有需要建立联系,也希望能通过它的友元类来转达。

 

因此,应用迪米特法则有可能造成的一个后果就是:系统中存在大量的中介类,这些类之所以存在完全是为了传递类之间的相互调用关系——这在一定程度上增加了系统的复杂度。

例如设计模式的门面模式(Facade)和中介模式(Mediator),都是迪米特法则应用的例子。

转载于:https://www.cnblogs.com/Aaxuan/p/9864511.html

你可能感兴趣的文章
Codeforces Gym 100342C Problem C. Painting Cottages 暴力
查看>>
WPF中Label使用StringFormat
查看>>
Open Live Writer
查看>>
FPGA功耗那些事儿(转载)
查看>>
建造者模式(屌丝专用)
查看>>
Google 地图 API V3 之控件
查看>>
读写文件:每次读入大文件里的一行、读写.CSV文件
查看>>
Toast信息框
查看>>
[翻译]应用程序池和应用程序域的区别
查看>>
最短JavaScript判断是否为IE6、IE的方法
查看>>
PHP同时上传“多个”文件示例,并格式化$_FILES数组信息
查看>>
Foundation: NSNotificationCenter
查看>>
TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
查看>>
四种常见的 POST 提交数据方式 专题
查看>>
centos7命令总结
查看>>
【网络】ssl与ssh
查看>>
网站防刷方案
查看>>
配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)
查看>>
在 ML2 中 enable local network - 每天5分钟玩转 OpenStack(79)
查看>>
LogBoy 之Android Studio控制台输出日志太多清空
查看>>