中介者模式(Mediator Pattern)
2014-02-15 23:50
344 查看
在多个对象或者类之间,中介者模式用来减少交流的复杂性。这个模式提供了一个中介者类,这个类正常地处理不同类之间的交流。通过松耦合性,它使得代码维护性更容易。中介者模式归属于行为型模式的范畴。
为了更好的阐述这个观念,我用一个实例来表达这个思想。
我创建了一个聊天室类ChartRoom,一个用户类User。用户发信息到ChatRoom中,而ChatRoom负责发送信息给所有的对象。UML类图如下所示:
创建中介者类ChatRoom.java
创建用户类User.java。
测试类MediatorPatternDemo.java。
输出结构:
看上面的例子挺简单的,真正地难再中介类的信息推送策略上。这个策略如何设计,直接影响到程序的效率。
23钟经典的设计模式总算告一段落了,我有点轻松了。看看时间已经零点了,该休息了。应网友的要求,这个设计模式的博客比较简洁。但是,最重要的是理解某种设计模式的思想,这才是最重要的。多学习一下经典的实例,加上对中模式优越性的理解,这是学习的重点。将后来,我将介绍几个经典Java API的实例,与大家一起分享。
为了更好的阐述这个观念,我用一个实例来表达这个思想。
我创建了一个聊天室类ChartRoom,一个用户类User。用户发信息到ChatRoom中,而ChatRoom负责发送信息给所有的对象。UML类图如下所示:
创建中介者类ChatRoom.java
import java.util.Date; public class ChatRoom { public static void showMessage(User user, String message){ System.out.println(new Date().toString() + " [" + user.getName() +"] : " + message); } }
创建用户类User.java。
public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public User(String name){ this.name = name; } public void sendMessage(String message){ ChatRoom.showMessage(this,message); } }
测试类MediatorPatternDemo.java。
public class MediatorPatternDemo { public static void main(String[] args) { User robert = new User("Robert"); User john = new User("John"); robert.sendMessage("Hi! John!"); john.sendMessage("Hello! Robert!"); } }
输出结构:
Thu Jan 31 16:05:46 IST 2013 [Robert] : Hi! John! Thu Jan 31 16:05:46 IST 2013 [John] : Hello! Robert!
看上面的例子挺简单的,真正地难再中介类的信息推送策略上。这个策略如何设计,直接影响到程序的效率。
23钟经典的设计模式总算告一段落了,我有点轻松了。看看时间已经零点了,该休息了。应网友的要求,这个设计模式的博客比较简洁。但是,最重要的是理解某种设计模式的思想,这才是最重要的。多学习一下经典的实例,加上对中模式优越性的理解,这是学习的重点。将后来,我将介绍几个经典Java API的实例,与大家一起分享。
相关文章推荐
- 我所理解的设计模式(C++实现)——中介者模式(Mediator Pattern)
- 二十四种设计模式:中介者模式(Mediator Pattern)
- 大话设计模式二十三章经(三) 中介者模式(Mediator Pattern)
- 23种设计模式(17)_行为型_中介者模式(Mediator Pattern)
- 协调多个对象之间的交互——中介者模式(Mediator Pattern)
- 深入浅出设计模式——中介者模式(Mediator Pattern)
- 中介者模式 Mediator Pattern
- Net设计模式实例之中介者模式(Mediator Pattern)(1) 推荐
- 十一个行为型模式5:中介者模式-Mediator Pattern【学习难度:★★★☆☆,使用频率:★★☆☆☆】
- 中介者模式(Mediator Pattern)
- "围观"设计模式(25)--行为型之中介者模式(Mediator Pattern)
- 4.7 《硬啃设计模式》 第24章 麻烦的多角关系 - 中介者模式(Mediator Pattern)简介
- 4.7 《硬啃设计模式》 第24章 麻烦的多角关系 - 中介者模式(Mediator Pattern)简介
- Net设计模式实例之中介者模式(Mediator Pattern)(2)
- 中介者模式(Mediator Pattern)
- Java中介者模式(Mediator Pattern)
- 中介者模式(Mediator Pattern)
- 中介者模式(Mediator Pattern)
- 中介者模式(Mediator Pattern)
- 18.中介者模式(Mediator Pattern)