Java Mediator Pattern(中介者模式)

简介: 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。

中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。

关键代码:对象 Colleague 之间的通信封装到一个类中单独处理。

优点: 1、降低了类的复杂度,将一对多转化成了一对一。 2、各个类之间的解耦。 3、符合迪米特原则。
缺点:中介者会庞大,变得复杂难以维护。

  1. 创建中介类。

/**
 * 1. 创建中介类。
 * @author mazaiting
 */
public class ChatRoom {
    public static void showMessage(User user, String message){
        System.out.println();System.out.println(new Date().toString()
                 + " [" + user.getName() +"] : " + message);
    }
}
  1. 创建 User 类。
/**
 * 2. 创建 user 类。
 * @author mazaiting
 */
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;
    }
    
    /**
     * 发送消息
     * @param message
     */
    public void sendMessage(String message){
        ChatRoom.showMessage(this, message);
    }
}
  1. 使用 User 对象来显示他们之间的通信。
/**
 * 3. 使用 User 对象来显示他们之间的通信。
 * @author mazaiting
 */
public class Client {
    public static void main(String[] args) {
        User robert = new User("Robert");
        User john = new User("John");
        
        robert.sendMessage("Hi! John!");
        john.sendMessage("Hello! Rebort!");
    }
}
  1. 打印结果
Sun Sep 10 19:56:53 CST 2017 [Robert] : Hi! John!

Sun Sep 10 19:56:53 CST 2017 [John] : Hello! Rebort!
目录
相关文章
|
5天前
|
设计模式 存储 Java
Java设计模式:解释一下单例模式(Singleton Pattern)。
`Singleton Pattern`是Java中的创建型设计模式,确保类只有一个实例并提供全局访问点。它通过私有化构造函数,用静态方法返回唯一的实例。类内静态变量存储此实例,对外仅通过静态方法访问。
12 1
|
4月前
|
设计模式 Java
Java设计模式:什么是观察者模式(Observer Pattern)?
Java设计模式:什么是观察者模式(Observer Pattern)?
31 0
|
4月前
|
Oracle 安全 Java
[Java] `JDK17` 模式变量 `Pattern variable` Variable ‘request‘ can be replaced with pattern variable
[Java] `JDK17` 模式变量 `Pattern variable` Variable ‘request‘ can be replaced with pattern variable
|
4月前
|
设计模式 Java
Java设计模式【十八】:中介者模式
Java设计模式【十八】:中介者模式
22 0
|
4月前
|
Rust 前端开发 Java
中介者模式 rust和java的实现
中介者模式 rust和java的实现
38 0
|
6月前
|
设计模式 前端开发 Java
【设计模式——学习笔记】23种设计模式——中介者模式Mediator(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——中介者模式Mediator(原理讲解+应用场景介绍+案例介绍+Java代码实现)
45 0
|
8月前
|
JavaScript 前端开发 Java
Java正则表达式(Pattern、Matcher)
1.常用正则标记(熟记*)、2. 基础案例搭配Sting的常用方法、3.正则表达式java.util.regex包支持、4.练习巩固
98 0
|
9月前
|
设计模式 前端开发 Java
Java中23种面试常考的设计模式之中介者模式(Mediator)---行为型模式
Java中23种面试常考的设计模式之中介者模式(Mediator)---行为型模式
65 1
|
9月前
|
设计模式 监控 Java
【设计模式】用Java实现中介者模式
中介者模式(Mediator Pattern)是一种行为设计模式,它通过封装一系列对象之间的交互,将对象之间的通信集中处理,从而降低对象之间的耦合度。
34 0
|
9月前
|
设计模式 Java
Java建造者模式(Builder Pattern)
Java建造者模式(Builder Pattern)