快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220
网站建设
移动开发
小程序开发
运维推广
网站推广
网站推广
运维外包
运维外包
网站报价
经典案例
网站知识
关于我们
网站建设知识
十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
中介者(调停者)模式
http://www.cnblogs.com/java-my-life/archive/2012/06/20/2554024.html
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);
}
}
网站栏目:中介者(调停者)模式
文章转载:
http://6mz.cn/article/pggpsg.html
其他资讯
怎么打开登录mysql数据库 怎么打开登录mysql数据库的命令
cng燃气电脑版故障(燃气电脑板坏的现象)
jquery城市级联 jquery城市二级联动代码
cng电脑故障(cng燃气电脑板故障症状)
ios怎么开发sdk ios sdk开发注意事项