设计模式 - 中介者模式
1.设计模式6原则 2.设计模式23种3.设计模式 - 单例模式4.设计模式 - 原型模式5.设计模式 - 抽象工厂6.设计模式 - 工厂方法7.设计模式 - 解释器模式8.设计模式 - 代理模式9.设计模式 - 外观模式10.设计模式 - 装饰者模式11.设计模式 - 组合模式12.设计模式 - 适配器模式13.设计模式 - 桥接模式14.设计模式 - 建造者模式15.设计模式 - 享元模式16.设计模式 - 策略模式17.设计模式 - 访问者模式18.设计模式 - 状态模式19.设计模式 - 迭代器模式20.设计模式 - 观察者模式21.设计模式 - 命令模式
22.设计模式 - 中介者模式
23.设计模式 - 备忘录模式24.设计模式 - 职责链模式25.设计模式 - 模板方法模式定义
Define an object that encapsulates how a set of objects interact.
Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently.
UML
实例
MVC,GUI,
- 一些对象和其他对象紧密耦合难以对其进行修改。
- 组件因过于依赖其他组件而无法在不同应用中复用。
- 在不同情景下复用一些基本行为,导致需要创建大量组件子类。
比较
中介者模式、职责链模式、命令模式、观察者模式 用于处理请求发送者和接收者之间的不同连接方式。
比较 | 中介者模式 | 备注 |
---|---|---|
职责链模式 | 中介者消除了发送者和请求者之间的之间连接,强制通过一个中介对象进行间接沟通 | 职责链按顺序将请求动态传递给一系列潜在接收者,直至一名接收者处理请求 |
命令模式 | 命令在发送者和请求者之间建立单向连接 | |
观察者模式 | 中介者是消除一系列系统组件之间的相互依赖。这些组件将依赖于同一个中介者对象。 | 观察者允许接收者动态地订阅或取消接收请求 观察者在对象间建立动态的单向连接,使得部分对象可作为其他对象的附属发挥作用 |
外观模式 | 两者都尝试在大量紧密耦合的类中组织起合作。 中介者将系统中组件的沟通行为中心化 各组件只知道中介者对象,无法直接交互 |
外观为子系统定义一个简单接口,但不提供任何新功能。 子系统不会意识到外观的存在 子系统中的对象可以直接进行交流 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2021-04-21 Ling应用