迪米特法则的定义:
也被称为最少知识原则(Least knowledge Principle,LKP)
也可以表述为 一个对象应该对其他对象有最少的了解,即一个类应该对自己需要耦合或调用的类知道的最少
4层含义:
1、只和朋友交流(Only talk to your immediate friends)
在类之间,什么样的类算作朋友呢?
出现在成员变量、方法的输入输出参数中的类称为成员朋友类。而出现在方法体内部的类不属于朋友类。
2、朋友之间也是有距离的
不能暴露太多,否则二次修改的时候,会让影响的范围增大。
这也要求类间public方法不能肆无忌惮的暴露
3、是自己的就是自己的
如果一个方法在类间关系中,放在自身类中既不增加类间关系,也对本类不产生负面影响就放置在自身类中。
4、谨慎进行序列化操作
针对RMI(Remote Method Invocation)
最佳实践:
迪米特法则的核心在于类间的解耦,只有弱耦合之后类的复用率才会提高。其要求的结果就是产生大量的中转或跳转类。
网友评论