JavaMediatorPattern(中介者模式)
中介者模式(Mediator Pattern)是用來降低多個物件和類之間的通訊複雜性。這種模式提供了一箇中介類,該類通常處理不同類之間的通訊,並支援鬆耦合,使程式碼易於維護。中介者模式屬於行為型模式。
關鍵程式碼:物件 Colleague 之間的通訊封裝到一個類中單獨處理。
優點: 1、降低了類的複雜度,將一對多轉化成了一對一。 2、各個類之間的解耦。 3、符合迪米特原則。
缺點:中介者會龐大,變得複雜難以維護。
- 建立中介類。
/**
* 1. 建立中介類。
* @author mazaiting
*/
public class ChatRoom {
public static void showMessage(User user, String message){
System.out.println();System.out.println(new Date().toString()
+ " [" + user.getName() +"] : " + message);
}
}
- 建立 User 類。
/**
* 2. 建立 user 類。
* @author mazaiting
*/
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name){
this.name = name;
}
public User(String name) {
this.name = name;
}
/**
* 傳送訊息
* @param message
*/
public void sendMessage(String message){
ChatRoom.showMessage(this, message);
}
}
- 使用 User 物件來顯示他們之間的通訊。
/**
* 3. 使用 User 物件來顯示他們之間的通訊。
* @author mazaiting
*/
public class Client {
public static void main(String[] args) {
User robert = new User("Robert");
User john = new User("John");
robert.sendMessage("Hi! John!");
john.sendMessage("Hello! Rebort!");
}
}
- 列印結果
Sun Sep 10 19:56:53 CST 2017 [Robert] : Hi! John!
Sun Sep 10 19:56:53 CST 2017 [John] : Hello! Rebort!
相關文章
- 中介者模式模式
- (三)中介者模式模式
- 中介者(調停者)模式模式
- 中介者模式(Mediator Pattern)。模式
- 行為型模式:中介者模式模式
- 設計模式之中介者模式設計模式
- 設計模式(十四)中介者模式設計模式
- 設計模式(十一):中介者模式設計模式
- 設計模式實戰 - 中介者模式設計模式
- 極簡設計模式-中介者模式設計模式
- 設計模式系列之「中介者模式」設計模式
- Python設計模式-中介者模式Python設計模式
- 設計模式之中介者設計模式
- 設計模式(十七)中介者設計模式
- ios開發-中介者模式iOS模式
- 設計模式-行為型模式-中介者模式設計模式
- C#設計模式(16)——中介者模式C#設計模式
- 設計模式學習(十八)中介者模式設計模式
- 我的Java設計模式-中介者模式Java設計模式
- 設計模式系列3--中介者模式設計模式
- C#設計模式之中介者模式C#設計模式
- 23種設計模式之中介者模式設計模式
- Java學設計模式之中介者模式Java設計模式
- 中介者模式(c++實現)模式C++
- AngularJS中介者模式例項AngularJS模式
- 折騰Java設計模式之中介者模式Java設計模式
- 設計模式之中介者模式(行為型)設計模式
- 設計模式(十九)——中介者模式(智慧家庭案例)設計模式
- 設計模式 | 中介者模式及典型應用設計模式
- 18.java設計模式之中介者模式Java設計模式
- Android原始碼設計模式-中介者模式Android原始碼設計模式
- 15、Python與設計模式–中介者模式Python設計模式
- 設計模式--中介者模式Mediator(行為型)設計模式
- JAVA設計模式之 中介者模式【Mediator Pattern】Java設計模式
- 中介者設計模式——業務實踐設計模式
- Rust語言之GoF設計模式:中介者Mediator模式RustGo設計模式
- 軟體設計模式系列之十九——中介者模式設計模式
- 設計模式的征途—22.中介者(Mediator)模式設計模式