- 设计模式教程
- 设计模式 - 主页
- 设计模式 - 概述
- 设计模式-工厂模式
- 抽象工厂模式
- 设计模式-单例模式
- 设计模式-构建器模式
- 设计模式 - 原型模式
- 设计模式-适配器模式
- 设计模式-桥接模式
- 设计模式-过滤器模式
- 设计模式-复合模式
- 设计模式 - 装饰模式
- 设计模式-外观模式
- 设计模式-享元模式
- 设计模式-代理模式
- 责任链模式
- 设计模式-命令模式
- 设计模式-解释器模式
- 设计模式-迭代器模式
- 设计模式——中介者模式
- 设计模式 - 纪念品模式
- 设计模式-观察者模式
- 设计模式-状态模式
- 设计模式-空对象模式
- 设计模式-策略模式
- 设计模式-模板模式
- 设计模式-访客模式
- 设计模式-MVC模式
- 业务代表模式
- 复合实体模式
- 数据访问对象模式
- 前控制器模式
- 拦截过滤器模式
- 服务定位器模式
- 传输对象模式
设计模式——中介者模式
中介者模式用于降低多个对象或类之间的通信复杂性。该模式提供了一个中介类,它通常处理不同类之间的所有通信,并通过松散耦合支持轻松维护代码。中介模式属于Behave模式类别。
执行
我们通过聊天室的示例来演示中介模式,其中多个用户可以向聊天室发送消息,并且聊天室有责任向所有用户显示消息。我们创建了两个类ChatRoom和User。用户对象将使用ChatRoom方法来共享他们的消息。
我们的演示类MediatorPatternDemo将使用User对象来显示它们之间的通信。
步骤1
创建中介类。
聊天室.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); } }
第2步
创建用户类别
用户.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); } }
步骤3
使用User对象来显示他们之间的通信。
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!"); } }
步骤4
验证输出。
Thu Jan 31 16:05:46 IST 2013 [Robert] : Hi! John! Thu Jan 31 16:05:46 IST 2013 [John] : Hello! Robert!