当前位置: 首页 > article >正文

JAVA:中介者模式(Mediator Pattern)的技术指南

1、简述

中介者模式是一种行为型设计模式,用于降低多个对象之间的复杂交互关系。通过引入一个中介者对象,各个对象不再直接相互引用,而是通过中介者进行通信,从而实现松耦合。

本文将介绍中介者模式的基本概念、结构、优缺点,并提供一个实际的应用案例。

在这里插入图片描述

设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git


2、什么是中介者模式?

中介者模式通过定义一个中介者对象,封装对象之间的交互,使各对象之间不直接交互,而是通过中介者来协调。这样可以减少对象之间的耦合,便于系统的维护和扩展。

使用场景:

  • 聊天室应用:用户之间的消息传递通过服务器中介。
  • GUI组件交互:界面组件之间的通信通过一个中介者类。
  • 复杂系统中的模块交互:多个模块需要协调工作。

中介者模式包含以下角色:

  • 中介者接口(Mediator):定义具体中介者需要实现的接口。
  • 具体中介者(ConcreteMediator):实现中介者接口,协调各对象的交互。
  • 同事类(Colleague):定义交互对象的基类,每个同事类只关注自身逻辑,通过中介者与其他同事类通信。

类图:

Colleague <--> Mediator <--> ConcreteMediator <--> OtherColleagues

3、实际案例

假设我们有一个聊天室应用,用户可以发送消息给其他用户,消息的传递通过聊天室中介者完成。

// 中介者接口
public interface ChatMediator {
   
    void sendMessage(String message, User user);
    void addUser(User user);
}

// 具体中介者
public class ChatRoom implements ChatMediator {
   
    private List<User> users = new 

http://www.kler.cn/a/516349.html

相关文章:

  • 【C语言系列】深入理解指针(3)
  • 计算机视觉算法实战——无人机检测
  • 【7】如何给Autonomous AP创建SSID
  • Oracle系列---【如何修改Oracle字符集?】
  • Jenkins上生成的allure report打不开怎么处理
  • 使用 JMeter 的 Autostop Listener 插件:自动化性能测试的守护者
  • 使用uPyCraft 来进行MicroPython ESP32创作
  • 如何通过windows自带的 mstsc 工具远程连接电脑
  • 高并发处理 --- 超卖问题+一人一单解决方案
  • 微信小程序隐藏右侧胶囊按钮,分享和关闭即右侧三个点和小圆圈按钮
  • 解决“‘ipython‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”
  • ubuntu黑屏问题解决
  • Windows cmd常用命令
  • ChatGPT高效处理图片技巧使用详解
  • 学习英语48个国际音标
  • MySQL8【学习笔记】
  • 【etcd】二进制安装etcd
  • 3个电子杂志制作工具推荐
  • 【Python】FastAPI框架快速实现后端(一)
  • 蓝桥杯准备 【入门1】顺序结构