定义 用一个调停对象来封闭一系列的对象交互。

组成

1 抽象者调停者(Mediator)角色:调停者角色定义统一的接口用于各同事角色之间的通信。

2 具体调停者(Concrete Mediator)角色: 具体调停者角色通过协调各同事角色实现协作行为。为此它要知道并引用各个同事角色。

3 同事(Colleague)角色: 每一个同事角色都知道对应的具体调停者角色,而且与其他的同事通信的时候,一定要通过调停者角色协作。

 

Public Colleague{

Prvate:

 Mediator mediator;

Public:

Colleague(Mediator mediator)

{

Mediator = mediator;

}

Mediator getMediator() const

{

Return mediator;

}

Virtual void action() = 0;

};

Class Landlord:public Colleague{

Void action()

{

Cout<<”进行房间资料交给中介操作,省略”;

}

};

 

Class Lodger:public Colleague{

Void action()

{

Cout<<”进行将租房需求交给中介等操作”;

}

};

 

Class Mediator{

Virtual void colleagueChanged(Colleague *colleague) = 0;

};

Class ConcreteMediator:public Mediator{

Private:

Landlord *landlord;

Lodger *lodger;

Void colleagueChanged(Colleague *colleague)

{

 Landlord->action();

Lodger->action();

}

ConcreteMediator()

{

Landlord = new Landlord();

Lodger = new lodger();

}

~ ConcreteMediator()

{

Delete Landlord;

Delete Lodger;

}

};

 

 


posted on 2012-01-11 19:51 柳清风 阅读(252) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


统计