【设计模式】行为模式之中介者Mediator

原创 2016年08月28日 21:04:37

中介者Mediator是一种对象行为型设计模式,目的是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

在传统的面向对象设计过程中,通常将行为分布到各个对象中以增强可复用性,但随之也增加了对象间的相互连接,如果相互连接过多,使得一个对象似乎不太可能在没有其他对象的支持下工作,整个系统表现为一个不可分割的整体,导致对系统的行为进行任何较大的改动都十分困难,可能不得不定义很多子类以定制系统行为,结果系统越来越冗长而复杂。使用中介者模式可以避免这个问题,将集体行为封装在一个单独的中介者对象中,负责控制和协调一组对象间的交互。中介者充当一个中介以使组中对象不再相互显式引用,这些对象仅知道中介者,从而减少了相互连接的数目。

中介者模式的结构如下图所示:

这里写图片描述

上图中,Mediator中介者定义一个接口用于与各同事Colleague对象通信;ConcreteMediator具体中介者通过协调各同事对象实现协作行为,了解并维护它的各个同事;Colleague各同事类都知道它的中介者对象,在需要与其它同事通信的时候,与它的中介者通信。各同事向一个中介者对象发送和接受请求,中介者在各同事间适当地转发请求以实现协作行为。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Mediator中介者(行为型设计模式)

依赖关系的变化   动机(Motivation) 在软件构建过程中,经常会初现多个uixiang互相关联交互的情况,对象之间常常会维持一种复杂的引用关系,如果遇到一些需求的更改,这种...

设计模式(十六)中介者模式(Mediator)-行为型

中介者模式Mediator中介者模式又称作调停模式。 所谓中介,在我们生活中很是常见,我们买房子可以有中介公司,找兼职也可以有中介公司。以买房子为例。中介者把所有的买房人、卖房人的需求和特点都结合到...

JAVA设计模式(14):行为型-中介者模式(Mediator)

场景 假如没有总经理。下面三个部门:财务部、市场部、研发部。财务部要发工资,让大家核对公司需要市场需要跟市场部和研发部通气;市场部需要接个新项目,需要研发部处理技术、需要财务部出资金。市场部跟各个部门...

设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)

转载:http://blog.csdn.net/hguisu/article/details/7554612 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型) ...

"围观"设计模式(25)--行为型之中介者模式(Mediator Pattern)

用一个对象封装一系列的对象交互,中介者使对象不需要显示的相互作用,从而使其耦合松散,而且可以独立的改变他们之间的独立。 个人理解 当多个对象之间存在着过多的耦合时,可以通过中介者模式进行解耦,将具...

23种设计模式(17)_行为型_中介者模式(Mediator Pattern)

定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们...

设计模式(行为型)之中介者模式(Mediator Pattern)

如果对象之间的联系呈现为网状结构,存在大量的多对多联系,在网状结构中,几乎每个对象都需要与其他对象发生相互作用,而这种相互作用表现为一个对象与另外一个对象的直接耦合,这将导致一个过度耦合的系统。如果在...

JAVA设计模式(14):行为型-中介者模式(Mediator)

腾讯公司推出的QQ作为一款免费的即时聊天软件深受广大用户的喜爱,它已经成为很多人学习、工作和生活的一部分(不要告诉我你没有QQ哦,)。在QQ聊天中,一般有两种聊天方式:第一种是用户与用户直接聊天,第二...

设计模式-行为型-中介者模式(Mediator)

设计模式-行为型-中介者模式(Mediator)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)