迪米特法则

迪米特法则

迪米特法则定义

迪米特法则(Law Of Demeter, LoD) 也成为最少知识原则(Least Knowledge Principle, LKP): 一个对象应该对其他对象有最少的了解。即一个类应该对自己需要耦合或调用的类知道的最少,你(被耦合或被调用的类)的内部是如何负责和我对没有关系,我只需知道你提供的这么多public方法,我就调用这么多,其他的一概不关心。

我的知识,你知道的越少越好

迪米特法则对类的低耦合提出了明确的要求,其包含以下4层含义

1. 只和朋友交流

迪米特法则还有一个英文的解释: Only talk to your immediate frieds.(只与直接的朋友交流)

什么是直接的朋友?每个对象都必然会与其他对象有耦合关系,两个对象之间的耦合就成为朋友关系,这种关系的类型有很多,例如组合、聚合、依赖等

出现在成员变量、方法的输入输出参数中的类成为成员朋友类(直接朋友),而出现在方法体内部的类不属于朋友类。

2. 朋友间也是有距离的

在设计的时候需要反复衡量:是否可以再减少public方法和属性,时候可以修改为privatepackageprotected等访问权限,是否可以加上final关键字等。

3. 是自己的就是自己的

在实际应用中经常会出现这样的一个方法: 放在奔雷也可以,放在其他类中也没错,那怎么去衡量呢? 可以坚持这样的一个原则: 如果一个方法放在本类中,既不增加类间关系,也对本类不产生负面影响,那就放置在本类中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值