中介者模式(Mediator Pattern)是用來降低多個對象和類之間的通信複雜性。這種模式提供了一箇中介類,該類通常處理不同類之間的通信,並支持鬆耦合,使代碼易於維護。中介者模式屬於行爲型模式。
意圖
用一箇中介對象來封裝一系列的對象交互,中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的交互。
意圖
實現如下
在一個聊天室有多個人,可以進行聊天
- 創建用戶
public class User{
private String name;
private Room room = new Room();
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void sendMsg(String msg){
room.showMsg(this,msg);
}
}
- 創建中介類
public class Room{
public void showMsg(User user,String msg){
System.out.println(user.getName()+" : "+msg);
}
}
- 使用
public void main(String... args){
User user1 = new User("張三");
User user2 = new User("李四");
user1.sendMsg("你好!");
user2.sendMsg("你好!我是李四");
}
- 結果
I/System.out: 張三 : 你好!
I/System.out: 李四 : 你好!我是李四