设计模式-中介者模式-笔记

Medicator中介者模式

动机(Motivation)

在软件构建过程中,经常会出现多个对象相互关联交际的情况,对象之间常常会维持一种复杂的引用关系,如果遇到一些需求的更改,这种直接的引用关系将面临不断的变化。

在这中情况下,我们可使用一个"中介对象"来管理对象间的关联关系,避免相互交互的对象之间的紧耦合引用关系,从而更好地抵御变化。

模式定义:

用一个中介者对象来封装(封装变化)一系列的对象交互。中介者模式使各对象不需要显示的相互引用(编译时依赖->运行时依赖),从而使其耦合松散(管理变化),而且可以独立地改变他们之间的交互。

要点总结

将多个对象间复杂的关联关系解耦,Mediator模式将多个对象间的控制逻辑进行集中管理,变"多个对象相互关联"为"对个对象和一个中介者关联", 简化了系统的维护,抵御了可能的变化。

随着控制逻辑的复杂变化,Mediator具有对象的实现可能相当复杂。这时候可以对Mediator对象进行分解处理。

Facade模式使解耦系统间(单向)的对象关联关系;Mediator模式是解耦系统内各个对象之间(双向)的关联关系。

相关推荐
码农的小菜园1 小时前
gradle常用指令使用笔记
笔记
鸟电波2 小时前
硬件笔记——示波器篇
笔记
Don.TIk2 小时前
SpringCloud学习笔记
笔记·学习·spring cloud
cd11840513 小时前
AutoCAD Electrical 2020学习笔记
笔记·学习
Sarvartha4 小时前
递归、回溯与动态规划学习笔记
笔记·学习·动态规划
眼镜哥(with glasses)4 小时前
网络技术三级考试综合题笔记整理(第二题、第三题)
网络·笔记·智能路由器
半壶清水5 小时前
[软考网规考点笔记]-数据通信基础之差错控制编码技术
网络·笔记·网络协议·tcp/ip
左左右右左右摇晃5 小时前
Java List集合
笔记
OxyTheCrack5 小时前
【C++】详细拆解std::mutex的底层原理
linux·开发语言·c++·笔记