簡單工廠android
設計模式學習以外觀模式ios
設計模式學習之適配器模式git
設計模式學習之單例模式github
設計模式學習之工廠方法模式設計模式
設計模式學習之生成器模式post
Demo傳送門設計
先認識一下什麼是中介者模式cdn
用一箇中介對象來封裝一系列的對象交互,中介者使得各對象不須要顯式地相互引用,從而使其耦合鬆散,並且能夠獨立地改變它們之間的交互。
如此中介者須要知道全部的對象,其餘對象只和中介者交互,而不用彼此交互,就能夠解耦對象之間的關係。
案例:
產品提出需求,由開發組進行開發實現。若是沒有中介者進行協調,產品在有了新的想法後,還要和開發同事進行溝通,他既要知道後臺,也要知道前端,還要知道客戶端(ios,android)的具體職能,這樣纔好對具體的工做進行安排,可是咱們顯然知道這是不可能的,因此現實中每每有一個項目經理在中間調停,一來是討論需求,二來是分配需求,肯定最後的評估時間。咱們就以這個爲例來講明一下中介者模式是如何工做的。
- 首先來看一些UML結構圖
- 定義抽象對象類,主要負責約束對象的類型,實現一些具體類之間的公共功能。如圖中所示的具體的類都應該知道中介者對象
- 各個對象類,實現本身的業務,在須要與其餘類通訊的時候,就與持有的中介者通訊
- 中介者接口,定義各個具體類之間交互須要的方法,能夠是公共的通訊方法
- 具體中介者實現:此類須要瞭解各個具體類,並維護各個對象,負責協調各個對象的交互關係
- 客戶端引用
- 結果
中介者模式優缺點:
優勢:
缺點:
中介者適用場景: