Fork me on GitHub

设计模式 - 中介

注意:所有文章除特别说明外,转载请注明出处.

简介

该模式是用来降低多个对象和类之间的通信复杂性。该模式提供一个中介类,该类负责处理不同类之间的通信。

中介者模式

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);
   }
}

2.创建user类

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!");
   }
}

总结

中介者模式提供了一种简化复杂交互的解决方案,其引入一个中介者,将原本对象之间的两两交互转换成为每一个对象与中介者之间的交互,中介者可以对对象之间的通信进行控制和协调,极大降低原有系统的耦合度,使得系统更加灵活,易于扩展。

本文标题:设计模式 - 中介

文章作者:Bangjin-Hu

发布时间:2019年10月15日 - 09:22:26

最后更新:2020年03月30日 - 08:20:14

原始链接:http://bangjinhu.github.io/undefined/设计模式 - 中介者模式/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Bangjin-Hu wechat
欢迎扫码关注微信公众号,订阅我的微信公众号.
坚持原创技术分享,您的支持是我创作的动力.