在現(xiàn)實(shí)生活中,有很多中介者模式的身影,例如QQ游戲平臺(tái),聊天室、QQ群和短信平臺(tái),這些都是中介者模式在現(xiàn)實(shí)生活中的應(yīng)用,下面就具體分享下我對(duì)中介者模式的理解。
一、 中介者(Mediator)模式
從生活中的例子可以看出,不論是QQ游戲還是QQ群,它們都是充當(dāng)一個(gè)中間平臺(tái),QQ用戶可以登錄這個(gè)中間平臺(tái)與其他QQ用戶進(jìn)行交流,如果沒(méi)有這些中間平臺(tái),我們?nèi)绻肱c朋友進(jìn)行聊天的話,可能就需要當(dāng)面才可以了。電話、短信也同樣是一個(gè)中間平臺(tái),有了這個(gè)中間平臺(tái),每個(gè)用戶都不要直接依賴與其他用戶,只需要依賴這個(gè)中間平臺(tái)就可以了,一切操作都由中間平臺(tái)去分發(fā)。了解完中介模式在生活中的模型后,下面給出中介模式的正式定義。
中介者模式,定義了一個(gè)中介對(duì)象來(lái)封裝一系列對(duì)象之間的交互關(guān)系。中介者使各個(gè)對(duì)象之間不需要顯式地相互引用,從而使耦合性降低,而且可以獨(dú)立地改變它們之間的交互行為。
二、 中介者模式的結(jié)構(gòu)
從生活中例子自然知道,中介者模式設(shè)計(jì)兩個(gè)具體對(duì)象,一個(gè)是用戶類,另一個(gè)是中介者類,根據(jù)針對(duì)接口編程原則,則需要把這兩類角色進(jìn)行抽象,所以中介者模式中就有了4類角色,它們分別是:抽象中介者角色,具體中介者角色、抽象同事類和具體同事類。中介者類是起到協(xié)調(diào)各個(gè)對(duì)象的作用,則抽象中介者角色中則需要保存各個(gè)對(duì)象的引用。有了上面的分析,則就不難理解中介者模式的結(jié)構(gòu)圖了,具體結(jié)構(gòu)圖如下所示:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26