“任何两个素不相识的人中间最多只隔着6个人,即只通过六个人就可以将他们联系在一起”,这就是著名的“六度分隔理论”。但是这个理论用在程序设计中,就不行了,如果一个类跳到另一个类,需要跳两次以上,那么我们就要考虑考虑想办法重构代码了。其实迪米特法则的核心观念就是类间解耦,弱耦合。
迪米特法则也称最少知识原则。他对类的低耦合,提了四层含义。
1.一个类只与直接的朋友通信。那么,什么叫做一个类的朋友呢?出现在这个类的成员变量,方法的输入输出参数中的类都称为朋友类。组合,聚合,依赖都是朋友类的体现。
2.我们对朋友类也不能肆无忌惮的使用。为了保持朋友类的距离,在设计的时候需要反复衡量,是否还可以在减少Public权限的方法和属性。
3.如果一个方法放在本类中,既不增加类间关系,也对本类不产生负面影响,那就放在本类中。
4.使用Serializable时,尽量注意客户端与服务器之间的方法属性权限。