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