设计模式——迪米特法则

来源:互联网 发布:阿里云 基线配置不当 编辑:程序博客网 时间:2024/04/29 14:53

What:迪米特法则,最少知识,原则,虽然名字不同,但描述的是同一个规则:一个对象应该其他对象有最少的了解。一个类应该对自己需要耦合或调用的类知道最好,你的内部是如何复查都和我没关系,那是你的事情,我就知道你提供这么多public方法。迪米特法则对低耦合提出了明确的要求:
1.只和朋友交流:每个对象都必然会与其他对象有耦合关系,两个对象之间的耦合就成为朋友关系。一个类只和朋友交流,不和陌生人交流,类和类之间的关系建立在类间的,而不是方法间,因此一个方法尽量不引入一个类中不存在的对
象。
2.朋友间也是有距离的:一个公开的public属性或方法越多,修改时设计的面也就越大,变更引起的风险扩散也就越大。因此,为了保持朋友间的距离,在设计时需要反复衡量:是否还可以在减少public方法和属性,是否可以修改为private,package_private、protected等访问权限,是否可以加上final关键字等。做到尽量内敛,多使用关键字。
3.自己的就是自己的:实际工作中会出现这样一个方法:放在本类中也可以,放在其他类也没错,那么怎么去衡量?可以坚持的原则:如果一个方法你放在本类中,既不增加类间关系,也对本类不产生负面影响,那么就放置在本类中。
4.谨慎使用Serializable

5.迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用率才可以提高。在采用迪米特法则时需要反复权衡,既然做到结构清晰,又做到高内聚低耦合。

0 0
原创粉丝点击