您的位置:首页 > 其它

迪米特法则(Law of Demeter)

2012-11-18 00:36 295 查看
迪米特法则(Law of Demeter, LoD)又称为最少知识原则(Least Knowledge Principle, LKP),它有多种定义方法,其中几种典型定义如下:

(1)
不要和“陌生人”说话。

(2)
只与你的直接朋友通信。

(3)
每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。

(4)
一个对象应当对其他对象有尽可能少的了解。

迪米特法则要点:

迪米特法则说的是一个对象应该对其它对象有尽可能少的了解。即只与你直接的朋友通信,不要跟陌生人说话。如果需要和陌生人通话,而你的朋友与陌生人是朋友,那么可以将你对陌生人的调用由你的朋友转发,使得某人只知道朋友,不知道陌生人。换言之,某人会认为他所调用的是朋友的方法。

以下条件称为朋友的条件:

1)
当前对象本身

2)
以参量的形式传入到当前对象方法中的对象

3)
当前对象的实例变量直接引用的对象

4)
当前对象的实例变量如果是一个聚集,那么聚集中的元素也都是朋友

5)
当前对象所创建的对象

迪米特法则的主要用意是控制信息的过载,在将其运用到系统设计中应注意以下几点:

1)
在类的划分上,应当创建有弱耦合的类。类之间的耦合越弱,就越有利于复用

2)
在类的结构设计上,每一个类都应当尽量降低成员的访问权限。一个类不应当public自己的属性,而应当提供取值和赋值的方法让外界间接访问自己的属性

3)
在类的设计上,只要有可能,一个类应当设计成不变类

4) 在对其它对象的引用上,一个类对其它对象的引用应该降到最低
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: