門面模式Facade和調(diào)停者模式Mediator
在1個項目或游戲中,我們通常會有很復(fù)雜的相互之間的關(guān)系,
A系統(tǒng)依賴B系統(tǒng),B系統(tǒng)依賴C系統(tǒng),C系統(tǒng)依賴A系統(tǒng)等聯(lián)系非常復(fù)雜,而且當(dāng)我們需要添加更新1個新的系統(tǒng)進(jìn)來的時候,這個系統(tǒng)很可能跟其他的系統(tǒng),發(fā)生各種聯(lián)系,這樣會導(dǎo)致關(guān)系 非常的混亂,如果里面的關(guān)系 越搞越復(fù)雜 你改你的代碼 會非常的頭疼

當(dāng)
我們就想增加1個 大管家 讓大家直接和它打交道 然后它會把 里面的邏輯交互給封裝起來
然后對外開放一些接口我全部封裝到1個類里 由這1個類來管理這些個類 對外提供1個統(tǒng)一的接口
這就叫 門面Facade模式
比如:你去政府的部門辦事,本來 你去1個部門 提供一些資料 證明自己是自己就可以了 但是你 可能要跑到不同的地方 去拿不同的表 然后交不同的表,我們就很希望有個門面模式(管家),我就可以作為1個客戶 直接去訪問這個管家,由他去幫我協(xié)調(diào)內(nèi)部的關(guān)系

Facade模式是對外的,把內(nèi)部封裝,讓外部的人訪問方便
Mediator調(diào)停者是對內(nèi)的,統(tǒng)一訪問,讓內(nèi)部的人訪問方便
一個新系統(tǒng)進(jìn)來 需要訪問 任務(wù)調(diào)度系統(tǒng) 財務(wù)系統(tǒng) 數(shù)據(jù)庫系統(tǒng) 預(yù)算系統(tǒng) 行政系統(tǒng) 等等,如果1個1個訪問很麻煩,這種情況下 我們可以抽出1個專門的部門來 ,所有的人 都跟這個部門打交道,然后部門之間再也不打交道了,這就是mediator 調(diào)停者,調(diào)節(jié)互相之間關(guān)系的人

那么這個對內(nèi)和對外可以是1個人嗎? 可以,在外部看來 是facade 內(nèi)部看來就是mediator;所以我們才把這兩個設(shè)計模式一起講
mq消息中間件 其實就是門面-調(diào)停者,誰產(chǎn)生消息放這里去 以后誰要 誰直接來拿 這就把耦合給解散了 解耦了
凡是統(tǒng)一處理大家的事情,這種模式都可以用門面-調(diào)停這種思想去寫程序