赞
踩
中介者模式属于行为型模式
1. 意图
2. 主要解决
3. 何时使用
4. 如何解决
5. 关键代码
6. 应用实例
7. 优点
8. 缺点
9. 使用场景
10. 注意事项
我们通过聊天室实例来演示中介者模式:多个用户可以向聊天室发送消息,聊天室向所有的用户显示消息
1. 创建中介类
ChatRoom.java
package com.demo.gof;
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. 创建 user 类
User.java
package com.demo.gof;
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
package com.demo.gof;
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!");
}
}
编译运行以上 Java 范例,输出结果如下
$ javac -d . src/main/com.demo/gof/MediatorPatternDemo.java
$ java com.demo.gof.MediatorPatternDemo
Thu Jan 31 16:05:46 IST 2013 [Robert] : Hi! John!
Thu Jan 31 16:05:46 IST 2013 [John] : Hello! Robert!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。