【设计模式-行为型-中介者模式(Mediator)】
概述
用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互.
适用性
1.一组对象以定义良好但是复杂的方式进行通信.产生的相互依赖关系结构混乱且难以理解.
2.一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象.
3.想定制一个分布在多个类中的行为,而又不想生成太多的子类.
参与者
1.Mediator
中介者定义一个接口用于与各同事(Colleague)对象通信.
2.ConcreteMediator
具体中介者通过协调各同事对象实现协作行为.
了解并维护它的各个同事.
3.Colleagueclass
每一个同事类都知道它的中介者对象.
每一个同事对象在需与其他的同事通信的时候,与它的中介者通信
类图
更多精彩教程请关注:XP系统下载
转载于:https://www.cnblogs.com/mfxp/p/3256502.html
【设计模式-行为型-中介者模式(Mediator)】相关推荐
- [设计模式-行为型]中介者模式(Mediator)
一句话 又翻译成调停者模式. 就是类似房产中介, 买房.卖方不需要双方直接交涉,交给中介. 概括 解析 MEDIATOR-四个MM打麻将,相互之间谁应该给谁多少钱算不清楚了,幸亏当时我在旁边,按照各自 ...
- 设计模式(10):行为型-中介者模式(Mediator)
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于 ...
- 《研磨设计模式》chap10 中介者模式Mediator(1)简介
1. 使用场景 如果电脑没有主板,各个配件的关系为 有主板后: 2. 中介者模式简介:各对象通过中介者来交互 //Mediator.java public interface Mediator { p ...
- java mediator_《JAVA设计模式》之中介者模式(Mediator)
在阎宏博士的<JAVA与模式>一书中开头是这样描述调停者(Mediator)模式的: 调停者模式是对象的行为模式.调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用.从 ...
- 《研磨设计模式》chap10 中介者模式Mediator(2)应用举例
人员类和部门类之间的关系:删除一个人或一个部门时,需要同时删除人员类和部门类里的数据,增加操作也是如此. public class User{ private String userId; //用户编 ...
- 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)
[索引页] [源码下载] 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern) 作者:webabcd 介绍 用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互 ...
- PHP设计模式之中介者模式(Mediator Pattern)了解下
咱们先来看下中介者模式(Mediator Pattern)的定义,它就是,用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互, ...
- 设计模式.中介者模式Mediator
定义 中介者模式(Mediator pattern) : 使用中介者模式来集中相关对象之间复杂的沟通和控制方式,使得这些对象不必相互明显引用.从而使它们可以较松散地耦合.当这些对象中的某些对象之间的相 ...
- 设计模式-中介者模式(Mediator Pattern)
设计模式-中介者模式(Mediator Pattern) 文章目录 设计模式-中介者模式(Mediator Pattern) 一.定义 二.概念解释 三.场景 四.实现 1.类图 2.代码实现 五.总 ...
最新文章
- GoF23种设计模式之行为型模式之解释器模式
- 一个基于组件的动态对象系统
- C++算术运算符与算术表达式
- javascript数字千分位格式化
- angular指令:tm.tags添加/删除标签
- FastReport分页和空行填充
- python学习记录(三)
- c++常见面试题30道
- oracle connect权限6,Oracle 19c 升级19.6 RU 导致权限异常 gipcInternalConnectSync: failed sync request 解决方法...
- 推荐我看过的几本好书给大家!(2)
- mysql like 多个条件_千万级MySQL数据库这样建索引可以让你的数据库飞起来.........
- 软银准备以超400亿美元向英伟达出售Arm,交易最快下周达成
- python 中文乱码_python 解决cv2绘制中文乱码问题
- Tapestry5的喜爱.
- 语音文件aac-raw-wav格式转换方法
- 硬盘重新分区后数据丢失如何恢复?
- 不同局域网下共享打印机的解决思路(保证可用)
- TCP三次握手及其相关问题
- python selenium 处理弹窗_Selenium自动化发布话题,以及获取window.showModalDialog()弹窗对象(Python实现)...
- html实现WordsClock(文字时钟)
热门文章
- 解读 ESP32 API参考-system-App Image Format
- java支付宝rsa2签名,使用支付宝SDK进行RSAj加签验签以及加密解密
- Eclipse——全局搜索
- 《Head First设计模式(中文版)》
- 9.PMAC上位机-上位机发送指令
- VuePress搭建博客教程(六)、vuepress配置head和自定义样式
- 在Ubuntu 10.04中安装 insight
- Linux移动光标指令hkjl,使用 HPC Pack 在 Linux VM 上執行 OpenFOAM - Azure Virtual Machines | Microsoft Docs...
- PrintWriter out=response.getWriter()的问题
- flex布局HTML实例,Flex常见布局实例