21中介模式



1中介模式的核心内容是:

A:通过中间这向多方发送消息

2中介模式的作用:通过中介模式模式中介对两个互不通信的部分进行发通知。

3中介模式具体描述

MEDIATOR调停者模式

 

调停者模式:调停者模式包装了一系列对象相互作用的方式,

使得这些对象不必相互明显作用。从而使他们可以松散偶合。

当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用。

保证这些作用可以彼此独立的变化。调停者模式将多对多的相互作用转化

为一对多的相互作用。调停者模式将对象的行为和协作抽象化

,把对象在小尺度的行为上与其他对象的相互作用分开处理。

 

四个MM打麻将,相互之间谁应该给谁多少钱算不清楚了,

幸亏当时我在旁边,按照各自的筹码数算钱,赚了钱的从我这里拿,

赔了钱的也付给我,一切就OK啦,俺得到了四个MM的电话。

 

中介者模式,找不到老婆可以相亲靠婚介

4中介模式类图

5.代码:

#include<iostream>

#include<string>

usingnamespacestd;

 

////MEDIATOR调停者模式

//

////调停者模式:调停者模式包装了一系列对象相互作用的方式,

//使得这些对象不必相互明显作用。从而使他们可以松散偶合。

//当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用。

//保证这些作用可以彼此独立的变化。调停者模式将多对多的相互作用转化

//为一对多的相互作用。调停者模式将对象的行为和协作抽象化

//,把对象在小尺度的行为上与其他对象的相互作用分开处理。

//

////四个MM打麻将,相互之间谁应该给谁多少钱算不清楚了,

//幸亏当时我在旁边,按照各自的筹码数算钱,赚了钱的从我这里拿,

//赔了钱的也付给我,一切就OK啦,俺得到了四个MM的电话。

//

////中介者模式,找不到老婆可以相亲靠婚介

classCountry;

 

classUniteNations

{

public:

   virtualvoiddeclare(stringmessage,Country
*colleague) = 0;

};

 

classCountry

{

protected:

   UniteNations
*mediator;

public:

   Country(UniteNations
*mediator)

   {

       this->mediator
= mediator;

   }

};

 

classUSA
:publicCountry

{

public:

   USA(UniteNations
*mediator) :Country(mediator)

   {}

   voiddeclare(stringmessage)

   {

       cout
<<"美发布信息: "
<< message <<endl;

       mediator->declare(message,this);

   }

   voidgetMessage(stringmessage)

   {

       cout
<<"美国获得对方信息: "
<< message <<endl;

   }

};

 

classIraq
:publicCountry

{

public:

   Iraq(UniteNations
*mediator) :Country(mediator)

   {}

   voiddeclare(stringmessage)

   {

       cout
<<"伊拉克发布信息: "
<< message <<endl;

       mediator->declare(message,this);

   }

   voidgetMessage(stringmessage)

   {

       cout
<<"伊拉克获得对方信息: "
<< message <<endl;

   }

};

 

//相当于中介,向双方发消息

classUnitedNationsSecurityCouncil
:publicUniteNations

{

public:

   USA
*usa;

   Iraq
*iraq;

   voiddeclare(stringmessage,Country
*colleague)

   {

       if
(colleague ==
usa)

       {

           iraq->getMessage(message);

       }

       else

       {

           usa->getMessage(message);

       }

   }

};

 

intmain()

{

   UnitedNationsSecurityCouncil
*unsc =
newUnitedNationsSecurityCouncil();

 

   USA
*c1 =
newUSA(unsc);

   Iraq
*c2 =
newIraq(unsc);

 

   unsc->usa
= c1;

   unsc->iraq
= c2;

 

   c1->declare("不准开发核武器,否则打你!");

   c2->declare("他妈的美国去死!");

 

   cin.get();

   return
0;

}

运行结果如下:



时间: 2024-10-17 23:02:19

21中介模式的相关文章

Java设计模式之中介模式(Mediator模式)介绍_java

Mediator定义:用一个中介对象来封装一系列关于对象交互行为. 为何使用Mediator模式/中介模式 各个对象之间的交互操作非常多,每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性. 如何使用中介模式 首先 有一个接口,用来定义成员对象之间的交互联系方式: 复制代码 代码如下:    

e家洁:打破中介模式,基于LBS做家政O2O

LBS+家政=?2013年,北京家政市场上出现了自称找小时工的保洁神器"--e家洁,它的前身是嘟嘟打车.年轻的创业者投奔家政市场,用一款手机App 为消费者找到合适的保洁工,对传统家政行业不啻为一种颠覆.来自吉林的田桂荣已经在北京做了两年钟点工,去年5 月的一张传单终结了她以往去中介找活的方式,在手机上安装一款App 后,就能随时随地接单了,她管这叫刷活".田阿姨安装的这款App 名为e 家洁",上线于去年5 月,它的前身是2011 年7 月创立的嘟嘟快捷租车,也即后来的嘟嘟

设计模式——21访问者模式(Visitor)

21.访问者模式(Visitor)访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化.访问者模式适用于数据结构相对稳定算法又易变化的系统.因为访问者模式使得算法操作增加变得容易.若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问者模式.访问者模式的优点是增加操作很容易,因为增加操作意味着增加新的访问者.访问者模式将有关行为集中到一个访问者对象中,其改变不影响系统数据结构.其缺点就是增加新的数据结构很困难.-- From 百科简单来说,访问者模式就是

PHP设计模式之中介者模式

中介者: 中介者设计莫用于开发一个对象,这个对象能够在类似对象相互之间不直接交互的情况下传送或调节对这些对象的集合的修改  处理具有类似属性并且属性需要保持同步的非耦合对象时,最佳的做法是使用基于中介者设计模式的对象. <?php        /**        * 测试用例描述:示例代码不仅允许乐队进入和管理他们的音乐合集,而且还允许乐队更新他们的配置文件,修改乐队相关信息以及更新其CD信息        *  现在,艺术家可上传MP3集合并从Web站点撤下CD. 因此, Web站点需要保

设计模式:中介者模式(Mediator)

用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互. 中介者模式中的角色: 1. 抽象中介者(Mediator):定义了同事对象到中介者对象之间的接口. 2. 具体中介者(ConcreteMediator):定义抽象中介者的方法,它需要知道所有的具体同事类,同时需要从具体的同事类那里接收消息,并且向具体的同事类发送信息. 3. 抽象同事类(Colleague) 4. 具体同事类(ConcreteColleague):每个具

P2P平台借助房产中介和便利店衍生新推广模式

最近几年,中国P2P行业出现爆发式生长,发展至今,P2P平台也衍生出很多模式. 近日,<每日经济新闻>记者调查了解到,目前,中国P2P行业线下推广招数各有不同,比如嫁接小贷公司,同城"O2O"模式,牵手便利店.报刊亭及房产中介等. "采取各种方式进行线下推广,简单一点说就是节省推广成本,充分利用资源.而找到与便利店等合作的模式,则有利于资源共享."E微贷CEO陆浪涛指出. 多位业内人士向记者表示,由于目前国内的征信体系不完善,纯平台模式较难适应目前的金融

Java设计模式之中介者模式(Mediator Pattern)简介_java

Java设计模式的中介者模式是行为模式之一.定义一个中介对象来封装系列对象之间的交互.中介者使各个对象不需要显式地相互引用,从而使其耦合性松散,并且可以独立地改变他们之间的交互. 如下图所示: 生产者.消费者.代理商之间的中介模式实例: public abstract class PersonColleague { protected Mediator mediator; public Mediator getMediator() { return mediator; } public void

022_《Delphi模式编程》

<Delphi模式编程> Delphi 教程 系列书籍 (022) <Delphi模式编程> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Pdf   作者: 刘艺 丛书名: Borland/Inprise核心技术丛书 出版社:机械工业出版社 ISBN:7111149491 上架时间:2004-9-11 出版日期:2004 年9月 开本:16开 页码:509 版次:1-1 内容简介 <delphi模式编程>是一本delphi程序员的模式入门和

导购模式

导购导购,顾名思义,小编个人的体会就是为了最终可以提高营销的业绩,而对消费者,进行循序渐进模式的.帮助消费者打消所有顾虑进而产生消费的实际行为的引导过程.导购的重点,就在于引导,所以,也可以将导购认为是一种营销流程里的一个极为重要的环节和步骤. 在传统的实体店里,导购设置有专门的导购人员,需要一步一步地具有针对性地对消费者进行导购,除了商家要有十分熟练的业务知识以外,还需要对消费者的心理活动,有一定的了解,可以根据消费者的心理活动与语气.肢体语言,来判断接下来应该怎么继续进行循循善诱的导购措施.