http://www.cnblogs.com/java-my-life/archive/2012/06/20/2554024.html

-
interface Mediator{
-
/**
-
* 同事對(duì)象在自身改變的時(shí)候來(lái)通知調(diào)停者方法 讓調(diào)停者去負(fù)責(zé)相應(yīng)的與其他同事對(duì)象的交互
-
*/
-
public void changed(Colleague c);
-
}
-
-
class ConcreteMediator implements Mediator{
-
// 持有并維護(hù)同事A
-
private ConcreteColleagueA colleagueA;
-
// 持有并維護(hù)同事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) {
-
/**
-
* 某一個(gè)同事類發(fā)生了變化,通常需要與其他同事交互 具體協(xié)調(diào)相應(yīng)的同事對(duì)象來(lái)實(shí)現(xiàn)協(xié)作行為
-
*/
-
}
-
-
}
-
-
abstractclass Colleague{
-
// 持有一個(gè)調(diào)停者對(duì)象
-
private Mediator mediator;
-
-
/**
-
* 構(gòu)造函數(shù)
-
*/
-
public Colleague(Mediator mediator) {
-
this.mediator= mediator;
-
}
-
-
/**
-
* 獲取當(dāng)前同事類對(duì)應(yīng)的調(diào)停者對(duì)象
-
*/
-
public Mediator getMediator() {
-
return mediator;
-
}
-
-
}
-
-
class ConcreteColleagueA extends Colleague{
-
-
public ConcreteColleagueA(Mediator mediator) {
-
super(mediator);
-
}
-
-
/**
-
* 示意方法,執(zhí)行某些操作
-
*/
-
public void operation() {
-
// 在需要跟其他同事通信的時(shí)候,通知調(diào)停者對(duì)象
-
getMediator().changed(this);
-
}
-
}
-
-
class ConcreteColleagueB extends Colleague{
-
-
public ConcreteColleagueB(Mediator mediator) {
-
super(mediator);
-
}
-
-
/**
-
* 示意方法,執(zhí)行某些操作
-
*/
-
public void operation() {
-
// 在需要跟其他同事通信的時(shí)候,通知調(diào)停者對(duì)象
-
getMediator().changed(this);
-
}
-
}
網(wǎng)站欄目:中介者(調(diào)停者)模式
網(wǎng)頁(yè)地址:http://chinadenli.net/article36/pggpsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、、云服務(wù)器、手機(jī)網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站設(shè)計(jì)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)