A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zlb820 中级黑马   /  2016-6-9 22:15  /  1030 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

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


2 个回复

倒序浏览
Serializable 接口的作用是表示类可以序列化的,序列化的类可以进行传输,谨慎使用serializable ,就 是谨慎暴露类的数据安全风险
回复 使用道具 举报
Fangjie 发表于 2016-6-10 07:06
Serializable 接口的作用是表示类可以序列化的,序列化的类可以进行传输,谨慎使用serializable ,就 是谨 ...

谢谢回答
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马