中介者(調停者)模式
http://www.cnblogs.com/java-my-life/archive/2012/06/20/2554024.html
![](https://i.iter01.com/images/7a105cd6488a72f13882febee0886e7f42411d42223b502bd7c4e1f75c99f427.png)
![](https://i.iter01.com/images/7a105cd6488a72f13882febee0886e7f42411d42223b502bd7c4e1f75c99f427.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) {
-
/**
-
* 某一個同事類發生了變化,通常需要與其他同事互動 具體協調相應的同事物件來實現協作行為
-
*/
-
}
-
-
}
-
-
abstract class 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);
-
}
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2136362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 中介者模式模式
- 行為型模式:中介者模式模式
- 設計模式之中介者模式設計模式
- 設計模式(十七)中介者設計模式
- 設計模式之中介者設計模式
- 設計模式實戰 - 中介者模式設計模式
- 極簡設計模式-中介者模式設計模式
- 設計模式-行為型模式-中介者模式設計模式
- 中介者模式(c++實現)模式C++
- C#設計模式(16)——中介者模式C#設計模式
- Android原始碼設計模式-中介者模式Android原始碼設計模式
- C#設計模式之中介者模式C#設計模式
- Java學設計模式之中介者模式Java設計模式
- 設計模式學習(十八)中介者模式設計模式
- 設計模式 | 中介者模式及典型應用設計模式
- 設計模式之中介者模式(行為型)設計模式
- 折騰Java設計模式之中介者模式Java設計模式
- 18.java設計模式之中介者模式Java設計模式
- 設計模式(十九)——中介者模式(智慧家庭案例)設計模式
- Java進階篇設計模式之十 ---- 訪問者模式和中介者模式Java設計模式
- 軟體設計模式系列之十九——中介者模式設計模式
- Rust語言之GoF設計模式:中介者Mediator模式RustGo設計模式
- 中介者設計模式——業務實踐設計模式
- 設計模式系列之中介者模式(Mediator Pattern)——協調多個物件之間的互動設計模式物件
- 裝飾者模式在中介軟體中使用模式
- Spring 版MediatR--中介者模式實現庫Spring模式
- 軟體設計模式學習(二十一)中介者模式設計模式
- 《JavaScript設計模式與開發實踐》模式篇(11)—— 中介者模式JavaScript設計模式
- Mediator(中介者)模式在iOS開發當中的使用模式iOS
- Objective-C設計模式——中介者Mediator(物件去耦)Object設計模式物件
- CRM中介軟體裡的釋出-訂閱者模式模式
- 設計模式學習筆記(十七)中介者模式及其應用場景設計模式筆記
- 中介者模式及在NetCore中的使用MediatR來實現模式NetCore
- 重學 Java 設計模式:實戰中介者模式「按照Mybatis原理手寫ORM框架,給JDBC方式運算元據庫增加中介者場景」Java設計模式MyBatisORM框架JDBC
- 重學 Java 設計模式:實戰中介者模式「按照Mybaits原理手寫ORM框架,給JDBC方式運算元據庫增加中介者場景」Java設計模式AIORM框架JDBC
- 修飾者模式(裝飾者模式,Decoration)模式
- 建造者模式模式
- 命令者模式模式
- 建立者模式模式