您的位置:首页 > 编程语言 > Java开发

Java设计模式之三十(迪米特法则)

2013-05-09 12:02 169 查看
一、什么是迪米特法则

迪米特法则(Law of Demeter )又叫做最少知识原则,也就是说,一个对象应当对其他对象尽可能少的了解。

迪米特法则最初是用来作为面向对象的系统设计风格的一种法则,于1987年秋天由lan holland在美国东北大学为一个叫做迪米特的项目设计提出的。

二、狭义的迪米特法则

如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一类的某一个方法的话,可以通过第三者转发这个调用。

三、和陌生人说话



四、不要和陌生人说话



五、与依赖倒转原则结合



六、走后门看病



七、办理手续住院



八、迪米特法则和设计模式

1.外观模式

2.中介者模式

代码实现:

某人:

package com.qianyan.ex4;

public class SomeOne {
private Friend friend;
private Stranger stranger;

public Stranger getStranger() {
return stranger;
}

public void setStranger(Stranger stranger) {
this.stranger = stranger;
}

public Friend getFriend() {
return friend;
}

public void setFriend(Friend friend) {
this.friend = friend;
}

public void play() {
System.out.println("someone play");
friend.play();
stranger.play();
}

}


朋友:

package com.qianyan.ex4;

public class Friend {
public void play(){
System.out.println("friends paly");
}
}


陌生人(抽象):

package com.qianyan.ex4;

public abstract class Stranger {
public abstract void play();
}


陌生人A:

package com.qianyan.ex4;

public class StrangerA extends Stranger {

public void play() {
System.out.println("strangerA play");
}

}


测试类:

package com.qianyan.ex4;

public class MainClass {
public static void main(String[] args) {
SomeOne zhangsan = new SomeOne();
zhangsan.setFriend(new Friend());
zhangsan.setStranger(new StrangerA());
zhangsan.play();
}
}


测试结果:

someone play
friends paly
strangerA play
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: