Mediator----行为型设计模式之一

原创 2004年07月08日 16:15:00

Mediator用一个中介对象来封装一系列关于对象交互行为.

为何使用Mediator?
各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性.

例子

class Mediator;
class A
{
?Mediator* _mediator;
public:
?A(Mediator * pmediator):_mediator(pmediator){}
?~A()
?{
??if(_mediator)
???delete _mediator;
?}
?void fA1()
?{
??_mediator->Oper1();
?}
?void fA2()
?{
??
?}
};
class B
{
?Mediator* _mediator;
public:
?B(Mediator * pmediator):_mediator(pmediator){}
?~B()
?{
??if(_mediator)
???delete _mediator;
?}
?void fB1()
?{
??
?}
?void fB2()
?{
??_mediator->Oper2();
?}
};
class Mediator
{
public:
?Mediator()
?{
??_a._mediator = this;
??_b._mediator = this;
?}
?void Oper1()
?{
??_b.fB1();
?}
?void Oper2()
?{
??_a.fA2();
?}
?void test1()
?{
??_a.fA1();
?}
?void test2()
?{
??_b.fB2();
?}
private:
?A _a;
?B _b;
}

//client
void main()
{
?Mediator med;
?med.test1();

med.test2();
}

设计模式之行为型模式(11种)

行为型模式 第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类 责任链模式 责任链模式说的通俗一点就是,当客户提交一个请求时,从第一个对象开始,链中收到请...
  • u012152619
  • u012152619
  • 2014年11月07日 12:04
  • 1755

大话设计模式宏观总结——创建型&结构型&行为型

总结三种类型的设计模式的区别和联系
  • sun15732621550
  • sun15732621550
  • 2016年02月01日 12:32
  • 1696

设计模式(行为型)之命令模式(Command Pattern)

在软件开发中,我们经常需要向某些对象发送请求(调用其中的某个或某些方法),但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,此时,我们特别希望能够以一种松耦合的方式来设计软件,使得请求发送者与...
  • yanbober
  • yanbober
  • 2015年05月05日 11:49
  • 3165

23种设计模式分析(5):行为型模式

1.1.13 Observer观察者模式   Observer(观察者)模式又被称作发布-订阅(Publish-Subscribe)模式,是一种对象的行为型模式。《设计模式》一书对Observer...
  • zhoudaxia
  • zhoudaxia
  • 2014年04月06日 23:21
  • 4959

行为型设计模式之一

1.chain of responsibility 职责链 职责链,将请求传递,直到能处理或到达终点。 // "Handler" abstract class Handler {   // ...
  • u013926186
  • u013926186
  • 2016年10月03日 22:34
  • 79

创建型、结构型、行为型模式

http://blog.csdn.net/wulingmin21/article/details/6753363 目的 创建型模式 Creationa...
  • mydriverc2
  • mydriverc2
  • 2013年09月26日 18:09
  • 564

行为型:设计模式之迭代器模式(二十一)

20世纪80年代,那时我家有一台“古老的”电视机,牌子我忘了,只记得是台黑白电视机,没有遥控器,每次开关机或者换台都需要通过电视机上面的那些按钮来完成,我印象最深的是那个用来换台的按钮,需要亲自用手去...
  • z742182637
  • z742182637
  • 2015年12月25日 13:57
  • 269

【设计模式】4.行为型模式

图说设计模式 软件模式是将模式的一般概念应用于软件开发领域,即软件开发的 总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括 架构模式、分析模式和过程模式等,实际上,在软件生存期的每一 个阶段...
  • limHappipen
  • limHappipen
  • 2016年12月06日 10:51
  • 255

设计模式-行为型之备忘录模式

模式动机   现在大多数软件都有撤销的功能,快捷键一般都是Ctrl+Z,即我们需要提供一种类似“后悔药”的机制,让软件可以回到之前的状态,因此需要保存用户每一次操作时系统的状态,一旦出现误操作,可以把...
  • ABC374744988
  • ABC374744988
  • 2015年09月16日 21:56
  • 317

设计模式分类(创建型模式、结构型模式、行为模式)

1.创建型模式 前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能...
  • itpinpai
  • itpinpai
  • 2016年04月25日 18:51
  • 8115
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mediator----行为型设计模式之一
举报原因:
原因补充:

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