## 零、問題
面向對象強調的是盡量把系統分割成許多對象,這樣通常可以增加其復用性。但是如果有一個系統中有大量的對象,且彼此都需要聯系,這樣由于對象比較多,所以聯系就會激增,大量的連接時的一個對象不可能在沒有其他對象的支持下工作,系統表現為一個不可分割的整體,所以對系統的行為進行任何較大的改動就會變得困難,同時,代碼的復用性也降低了。這樣該怎么辦呢?

## 一、中介者模式
為了解決上述問題,引出來中介者模式。
在將中介者模式之前,有一個法則必須先知道:迪米特法則——如果兩個類不必彼此直接通信,那么這兩個類就不應當發生直接的相互作用。如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉發這個調用。
中介者模式就是跟據迪米特法則進行設計的模式。
中介者模式:用一個中介對象封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變他們之間的交互。

沒有中介者模式時,各個對象之間彼此交錯聯系,相互織成了網狀,通過中介者模式這個網狀結構變成了以中介為中心的星形結構,每個對象不必通過直接聯系與另一個對象發生相互作用,而是通過中介者對象與另一個對象發生相互作用,使得系統結構不會因為新對象的引入造成大量的修改工作。
## 二、類圖

- 前言
- 抽象工廠——創建型設計模式一
- 工廠三姐妹——創建型設計模式之二
- 初識面向對象設計模式
- 建造者模式——創建型模式之三
- 原型模式——創建型設計模式四
- 適配器 and 組合模式——結構性模式之一
- 橋接模式——結構性設計模式之二
- 組合模式——結構型設計模式之三
- 裝飾模式——結構型設計模式之四
- 外觀模式——結構型設計模式之五
- 代理模式——結構型設計模式之六
- 觀察者模式——行為型設計模式之五
- 模板設計——行為設計模式之一
- 命令模式——行為設計模式之二
- 狀態模式——行為型設計模式之三
- 職責模式——行為設計模式之四
- 中介模式——行為模式之六
- 策略+簡單工廠 實戰篇
- 看觀察者怎么全方位觀察機房收費系統
- 登陸也需要裝飾——機房收費系統裝飾模式實戰
- 何為抽象?你有本末倒置嗎?
- 再回首,策略、簡單工廠是否依然?
- 再回首——行為型設計模式