设计模式学习—Mediator(中介者)
2011-05-15 16:36
519 查看
意图:用一个中介对象来封装一系列的独享交互。中介者使得各对象不需要显式的相互引用,从而使得其耦合松散,而且可以独立的改变他们之间的交互.
适用性:
一组对象以定义好,但是通信复杂,相互依赖关系结构混乱
一个对象引用其他对象并且直接通信
想定制一个分布在多个类中的行为,但是又不想定义多个子类
示例
图:
示例程序:
//信息变化之后通知中介者,中介者来调用相关对象进行相应的控制
class CMediator
{
public:
CMediator();
public:
~CMediator(void);
public:
void InfoChanged(int id)
{
m_PTitle->SetId(id);
}
void SetTitle(CTitle*
pTitle)
{
m_PTitle = pTitle;
}
public:
void ShowTitle()
{
m_PTitle->Show();
}
private:
CTitle* m_PTitle;
};
#include "Mediator.h"
class CInfo
{
public:
CInfo();
public:
~CInfo(void);
public:
void
SetMediaotr(CMediator* pMediat)
{
this->m_pMedia =
pMediat;
}
virtual void Change(int newId)
{
id =
newId;
m_pMedia->InfoChanged(newId);
}
int
GetID()
{
return id;
}
private:
int
id;
CMediator* m_pMedia;
};
适用性:
一组对象以定义好,但是通信复杂,相互依赖关系结构混乱
一个对象引用其他对象并且直接通信
想定制一个分布在多个类中的行为,但是又不想定义多个子类
示例
图:
示例程序:
//信息变化之后通知中介者,中介者来调用相关对象进行相应的控制
class CMediator
{
public:
CMediator();
public:
~CMediator(void);
public:
void InfoChanged(int id)
{
m_PTitle->SetId(id);
}
void SetTitle(CTitle*
pTitle)
{
m_PTitle = pTitle;
}
public:
void ShowTitle()
{
m_PTitle->Show();
}
private:
CTitle* m_PTitle;
};
#include "Mediator.h"
class CInfo
{
public:
CInfo();
public:
~CInfo(void);
public:
void
SetMediaotr(CMediator* pMediat)
{
this->m_pMedia =
pMediat;
}
virtual void Change(int newId)
{
id =
newId;
m_pMedia->InfoChanged(newId);
}
int
GetID()
{
return id;
}
private:
int
id;
CMediator* m_pMedia;
};
相关文章推荐
- 设计模式深入学习--Mediator 中介者模式(行为型模式)
- 设计模式学习—Mediator(中介者)
- 设计模式学习—中介者模式(Mediator Design Pattern)
- 设计模式学习笔记--中介者模式Mediator pattern(Java版)
- 一天学习两个设计模式之Mediator模式(中介者模式)
- 设计模式学习总结-中介者模式(Mediator Method)
- HeadFirst 设计模式学习笔记18--中介者(Mediator)模式拾零
- 【HeadFirst 设计模式学习笔记】17 中介者(Mediator)模式拾零
- 步步为营 .NET 设计模式学习笔记 二十、Mediator(中介者模式)
- 设计模式学习笔记——中介者(Mediator)模式
- 步步为营 .NET 设计模式学习笔记 二十、Mediator(中介者模式)
- 【设计模式学习笔记十八】【行为模式】【中介者模式(Mediator)】
- 步步为营 .NET 设计模式学习笔记 二十、Mediator(中介者模式)
- 设计模式学习笔记--Mediator 中介者模式
- 大熊君说说JS与设计模式之------中介者模式Mediator
- 设计模式 笔记 中介者模式 Mediator
- 设计模式之二十一:中介者模式(Mediator)
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- 设计模式之中介者模式的学习思考
- 设计模式学习笔记2:说说Mediator模式