【设计模式】之十Mediator
来源:互联网 发布:没有rpm yum 编辑:程序博客网 时间:2024/05/22 09:50
Type: Behavioral
Mediator: 定义一个对象,包装一系列对象如何交互。这些对象不必明确地互相引用,从而促进松散耦合,并且能够使你独立地改变他们之间的交互。
#include <iostream>using namespace std;class Mediator{public: virtual void inform(int id)=0;};class Colleague{public: virtual void update()=0;};class ConcreteColleague: public Colleague{public: ConcreteColleague(int id, Mediator* pMediator): mId(id),m_pMediator(pMediator){}; void update() { cout<<"ConcreteColleague"<<mId<<" update"<<endl; }; void send() { cout<<"ConcreteColleague"<<mId<<" send"<<endl; if(mId == 1) m_pMediator->inform(2); else if(mId == 2) m_pMediator->inform(1); };private: int mId; Mediator* m_pMediator; };class ConcreteMediator: public Mediator{public: void inform(int id) { if(id==1){ m_pColleague1->update(); } else if(id == 2){ m_pColleague2->update(); } }; void setColleague1(Colleague* pColleague) { m_pColleague1 = pColleague; }; void setColleague2(Colleague* pColleague) { m_pColleague2 = pColleague; };private: Colleague* m_pColleague1; Colleague* m_pColleague2;};int main(){ ConcreteMediator* pMediator = new ConcreteMediator(); ConcreteColleague* pColleague1 = new ConcreteColleague(1, pMediator); ConcreteColleague* pColleague2 = new ConcreteColleague(2, pMediator); pMediator->setColleague1(pColleague1); pMediator->setColleague2(pColleague2); pColleague1->send(); pColleague2->send(); system("pause"); return 0;}
- 【设计模式】之十Mediator
- 设计模式之Mediator
- 设计模式之 mediator
- 无废话C#设计模式之二十:Mediator
- 无废话C#设计模式之二十:Mediator
- 设计模式之mediator模式
- 设计模式之Mediator模式
- 设计模式简单代码之Mediator模式
- 设计模式之Mediator中介者模式
- JAVA设计模式之Mediator模式
- 设计模式之中介者模式(Mediator)
- 设计模式之中介者模式,mediator
- 设计模式之中介者模式(Mediator)
- 设计模式--之Mediator模式 笔记
- 设计模式之Mediator模式(笔记)
- 设计模式之中介者模式(Mediator)
- 设计模式之中介者模式Mediator
- 设计模式之中介者模式(Mediator)
- 谷歌向欧盟让步承诺微调搜索界面
- PHP程序员测试题及答案
- ACM题目分类
- 清除String乱码
- SDL-1:初识SDL开发库
- 【设计模式】之十Mediator
- WIN7安装与配置IIS,以浏览器的方式访问本地资源
- Objective-C 第一天
- Servlet和JSP的线程安全问题
- Uva 674 Coin Change 完全背包
- ZOJ 2058 The Archaeologist's Trouble II
- Linux应用程序串口编程
- 疯狂的银行:我们的钱都被谁赚走了?
- 数据结构C语言实现之顺序表