迪米特法则(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) 在对其它对象的引用上,一个类对其它对象的引用应该降到最低
(1)
不要和“陌生人”说话。
(2)
只与你的直接朋友通信。
(3)
每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。
(4)
一个对象应当对其他对象有尽可能少的了解。
迪米特法则要点:
迪米特法则说的是一个对象应该对其它对象有尽可能少的了解。即只与你直接的朋友通信,不要跟陌生人说话。如果需要和陌生人通话,而你的朋友与陌生人是朋友,那么可以将你对陌生人的调用由你的朋友转发,使得某人只知道朋友,不知道陌生人。换言之,某人会认为他所调用的是朋友的方法。
以下条件称为朋友的条件:
1)
当前对象本身
2)
以参量的形式传入到当前对象方法中的对象
3)
当前对象的实例变量直接引用的对象
4)
当前对象的实例变量如果是一个聚集,那么聚集中的元素也都是朋友
5)
当前对象所创建的对象
迪米特法则的主要用意是控制信息的过载,在将其运用到系统设计中应注意以下几点:
1)
在类的划分上,应当创建有弱耦合的类。类之间的耦合越弱,就越有利于复用
2)
在类的结构设计上,每一个类都应当尽量降低成员的访问权限。一个类不应当public自己的属性,而应当提供取值和赋值的方法让外界间接访问自己的属性
3)
在类的设计上,只要有可能,一个类应当设计成不变类
4) 在对其它对象的引用上,一个类对其它对象的引用应该降到最低
相关文章推荐
- 设计模式六大原则——迪米特法则(LoD,Law of Demeter)
- 迪米特法则(Law of Demeter)
- 设计模式6大原则之迪米特法则(Law Of Demeter)
- 迪米特法则 Law of Demeter
- 迪米特法则(Law of Demeter)LoD
- 设计模式六大原则(5)迪米特法则(Law Of Demeter)
- 设计模式六大原则(5):迪米特法则LOD(Law Of Demeter)
- [设计模式原则]迪米特法则(Law of Demeter, LoD)
- IOS设计模式的六大设计原则之迪米特法则(LOD,Law Of Demeter)
- IOS设计模式的六大设计原则之迪米特法则(LOD,Law Of Demeter)
- "围观"设计模式(5)--迪米特法则(Lod,Law of Demeter)或最少知道原则(Least Knowledge Principle)
- "围观"设计模式(5)--迪米特法则(Lod,Law of Demeter)或最少知道原则(Least Knowledge Principle)
- IOS设计模式的六大设计原则之迪米特法则(LOD,Law Of Demeter)
- 迪米特法则 (Law of Demeter, LoD)
- 迪米特法则(Law of Demeter)
- Java设计模式之迪米特法则(Law of Demeter, LoD)
- IOS设计模式的六大设计原则之迪米特法则(LOD,Law Of Demeter)
- 迪米特法则(Law of Demeter)与领域模型行为
- 迪米特法则(Law of Demeter)
- 迪米特法则 Law of Demeter