中介者模式

中介者模式

什么叫中介者模式

中介者模式的作用就是解除對象與對象之間的緊耦合關(guān)系
增加一個(gè)中介者對象后,所有的相關(guān)對象都通過中介者對象來通信,而不是互相引用,所以當(dāng)一個(gè)對象發(fā)生改變時(shí),只需要通知中介者對象即可。
中介者使各對象之間耦合松散,而且可以獨(dú)立的地改變他們之間的交互,中介者模式使網(wǎng)狀的多對多關(guān)系變成了一對多的關(guān)系
下面我們來看兩張圖直觀體會一下中介者模式

2.jpg

1.jpg

vuex 和 redux 就使典型的中介者模式

缺點(diǎn):

  • 新增一個(gè)中介者對象,如果對象間交互非常復(fù)雜,會導(dǎo)致中介者對象很復(fù)雜,最后往往難以維護(hù)
  • 過度集中化,中介者出現(xiàn)故障,那么代碼可能出現(xiàn)問題

怎么取衡量是否使用中介者模式呢
中介者模式可以非常方便對模塊或者對象進(jìn)行解耦,但對象之間并非需要解耦,實(shí)際項(xiàng)目中,模塊和對象有一些依賴關(guān)系是正常的,
一般來說如果對象之間的復(fù)雜耦合度導(dǎo)致了代碼維護(hù)和調(diào)用出現(xiàn)了困難,而這些耦合度隨項(xiàng)目的變化程指數(shù)增長曲線,那么這個(gè)時(shí)候我們就可以考慮中介者模式來重構(gòu)代碼

部分內(nèi)容取自:js設(shè)計(jì)模式與開發(fā)實(shí)踐

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

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

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