http://www.cnblogs.com/java-my-life/archive/2012/06/20/2554024.html
![中介者(调停者)模式](/upload/otherpic74/53102.png)
-
interface Mediator{
-
/**
-
* 同事对象在自身改变的时候来通知调停者方法 让调停者去负责相应的与其他同事对象的交互
-
*/
-
public void changed(Colleague c);
-
}
-
-
class ConcreteMediator implements Mediator{
-
// 持有并维护同事A
-
private ConcreteColleagueA colleagueA;
-
// 持有并维护同事B
-
private ConcreteColleagueB colleagueB;
-
-
public void setColleagueA(ConcreteColleagueA colleagueA) {
-
this.colleagueA= colleagueA;
-
}
-
-
public void setColleagueB(ConcreteColleagueB colleagueB) {
-
this.colleagueB= colleagueB;
-
}
-
-
@Override
-
public void changed(Colleague c) {
-
/**
-
* 某一个同事类发生了变化,通常需要与其他同事交互 具体协调相应的同事对象来实现协作行为
-
*/
-
}
-
-
}
-
-
abstractclass Colleague{
-
// 持有一个调停者对象
-
private Mediator mediator;
-
-
/**
-
* 构造函数
-
*/
-
public Colleague(Mediator mediator) {
-
this.mediator= mediator;
-
}
-
-
/**
-
* 获取当前同事类对应的调停者对象
-
*/
-
public Mediator getMediator() {
-
return mediator;
-
}
-
-
}
-
-
class ConcreteColleagueA extends Colleague{
-
-
public ConcreteColleagueA(Mediator mediator) {
-
super(mediator);
-
}
-
-
/**
-
* 示意方法,执行某些操作
-
*/
-
public void operation() {
-
// 在需要跟其他同事通信的时候,通知调停者对象
-
getMediator().changed(this);
-
}
-
}
-
-
class ConcreteColleagueB extends Colleague{
-
-
public ConcreteColleagueB(Mediator mediator) {
-
super(mediator);
-
}
-
-
/**
-
* 示意方法,执行某些操作
-
*/
-
public void operation() {
-
// 在需要跟其他同事通信的时候,通知调停者对象
-
getMediator().changed(this);
-
}
-
}
网站栏目:中介者(调停者)模式
网页地址:https://www.cdcxhl.com/article36/pggpsg.html
成都网站建设公司_创新互联,为您提供品牌网站制作、、云服务器、手机网站建设、做网站、网站设计
广告
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源:
创新互联