码迷,mamicode.com
首页 > 其他好文 > 详细

6大设计原则之迪米特法则

时间:2018-12-25 13:55:01      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:增加   分享图片   现在   公众   设计原则   产生   迪米特   技术分享   而不是   

迪米特法则的定义

迪米特法则也称为最少知识原则,一个对象应该对其他对象有最少的了解. 通俗的讲,一个类应该对自己需要耦合或调用的类知道的最少,被调用类的内部是如何复杂都和我没关系,我就知道你的这些public方法,我就调用这么多,其他的我一概不关心.

迪米特法则对类的低耦合提出了要求

1.只和朋友交流

什么是朋友呢?

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

注意: 一个类只与朋友交流,不与陌生类交流,类与类之间的关系是建立在类间的,而不是方法间,因此一个方法尽量不引入一个类中不存在的对象,当然,JDK API提供的类除外

2.朋友间也是有距离的

一个类公开的public属性或方法越多,修改时设计的面也就越大,变更引起的风险扩散也就越大.因此,为了保持朋友类间的距离,在设计时需要反复衡量:是否还可以再减少public方法和属性,是否可以修改为private,protected等访问权限,是否可以加上final关键字等,迪米特法则要求类尽量不要对外公布太多的public方法和非静态的public变量.

3.是自己的就是自己的

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


迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用率才可以提高.其要求的结果就是产生了大量的中转或跳转类,导致系统的复杂性提高,同时也为维护带来了难度.在采用迪米特原则时需要反复权衡,既做到让结构清晰,有做到高内聚低耦合


 

 

可以关注一下鄙人的公众号, 谢谢各位了!技术分享图片

6大设计原则之迪米特法则

标签:增加   分享图片   现在   公众   设计原则   产生   迪米特   技术分享   而不是   

原文地址:https://www.cnblogs.com/hujingnb/p/10171522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!