注意:所有文章除特别说明外,转载请注明出处.
简介
该模式是用来降低多个对象和类之间的通信复杂性。该模式提供一个中介类,该类负责处理不同类之间的通信。
中介者模式
1.创建中介类
import java.util.Date;
public class ChatRoom {
   public static void showMessage(User user, String message){
      System.out.println(new Date().toString()
         + " [" + user.getName() +"] : " + message);
   }
}
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对象来显示它们之间的通信
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!");
   }
}
总结
中介者模式提供了一种简化复杂交互的解决方案,其引入一个中介者,将原本对象之间的两两交互转换成为每一个对象与中介者之间的交互,中介者可以对对象之间的通信进行控制和协调,极大降低原有系统的耦合度,使得系统更加灵活,易于扩展。
