黑马程序员技术交流社区

标题: 设计模式之 迪米特原则 [打印本页]

作者: zlb820    时间: 2016-6-3 22:56
标题: 设计模式之 迪米特原则
迪米特原则(law of demeter)
也叫 最少知识原则(least knowledge principle)
对于迪米特原则有以下四个定义:
1.只和直接的朋友通信
朋友类的定义:朋友类指的是出现在成员变量或者 方法输入输出参数中的 类称为 成员朋友类,而出现在方法体内部的类不属于朋友类。类不能允许自己不知道的行为和其他的类产生依赖关系。
注:一个类只和朋友类交流,不和陌生类交流。  类和类之间的关系是建立在类之间的,不是类方法之间。
2.朋友也是有距离的
不允许给朋友类暴露自己过多的方法,这是强耦合的表现。
一个类公开的public属相的方法越多,说明修改时涉及的面也就越广,风险就越大。
注:迪米特原则,要求类要 保守一点,尽量不要公布太多的public方法,尽量内敛,
3.自己的就是自己的
如果一个方法放在本类中,既不增加类间的关系,也不产生负面的影响,那就放在本类中。
4.谨慎使用serializable
这个还不太明白 ,希望大家补充

实践:
迪米特原则,核心观念是类与类之间的解耦,那么结果就造成 大量中转类,系统复杂性提高。所以使用时需要合理。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2