設(shè)計模式-中介者模式(Mediator)

中介者模式的目的是什么呢?

????用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變它們之間的交互。


中介者模式的結(jié)構(gòu)

image.png

上圖就是一個典型的中介者模型的結(jié)構(gòu)圖了,從圖中我們也可以看出,中介者模式主要分了兩大類的角色:
1、中介者:結(jié)構(gòu)圖里的中介者主要包含,中介者接口,中介者實現(xiàn)類。中介者的主要職責(zé),通過協(xié)調(diào)各個同事對象實現(xiàn)協(xié)作行為。
2、Colleague Class(同事類):同事類中主要包含自己的行為,以及與中介者之間的通信方式。

中介者模式的優(yōu)缺點

優(yōu)點
1、減少了子類的生成,Mediator將原本分布于對象間的行為集中在一起。改變這些行為只需生成Mediator的子類即可。這樣各個Colleague類可被重用。
2、它將各個Colleague解耦,這個優(yōu)點很明顯,各個Colleague不需要相互依賴,對于擴(kuò)展性和復(fù)用性都提供了極大的便利。
3、它簡化了對象協(xié)議:從Colleague之間多對多的關(guān)系,到Mediator與Colleague之間一對多的關(guān)系,便于理解,維護(hù)和擴(kuò)展。
4、它對對象如何協(xié)作進(jìn)行了抽象。
缺點
1、它使控制集中化:過多的邏輯集中在中介者類中,使中介者類維護(hù)起來比較麻煩。

實現(xiàn)

????我們?nèi)粘5捻椖恐杏玫街薪檎吣J降牡胤竭€是比較多的,比如:我們在用Dubbo實現(xiàn)各個業(yè)務(wù)系統(tǒng)之前通信時,必不可少的就是注冊中心了,我們把各個業(yè)務(wù)系統(tǒng)的依賴關(guān)系都寫到了注冊中心中,讓注冊中心幫我們管理。這里就先不寫具體的實現(xiàn)了,等寫到觀察者模式的時候,會結(jié)合觀察者模式,寫一個Demo。畢竟他們兩個一起出鏡的幾率還是很高的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容