迪米特法则(LOD)

寻非 2020年01月20日 1,155次浏览

定义:
One you talk to your immediate friends.
一个对象应该对其他对象有最少的了解
又称:最小知识原则

1.只和朋友类交流,尽量减少非必要关系类的依赖
(朋友类指:出现在成员变量、方法的输入输出参数中的类。出现在方法体内部的内不算朋友类)

2.朋友之间也是有距离的,关系限定
一个类public属性或方法越多,修改时设计的面也就越大,变更引起的风险扩散也就越大。在采用访问控制权限时优先使用满足最小的。

3.自己的就是自己的
如果一个方法放在本类中,即不增加类之间的关系,也不对本类产生负面影响,就放在本类中

4.谨慎使用Serializable
防止属性访问权限修改时序列化远端服务器未及时修改

核心就是类之间的解耦,弱藕。
建议:如果一个类需要跳转两次以上才能访问到另一个类,就可以考虑重构了