设计模式理解:中介者模式(Mediator)
生活随笔
收集整理的這篇文章主要介紹了
设计模式理解:中介者模式(Mediator)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
中介者模式(Mediator Pattern)是用來降低多個對象和類之間的通信復雜性。這種模式提供了一個中介類,該類通常處理不同類之間的通信,并支持松耦合,使代碼易于維護。
兩個類或者多個類之間存在相互引用的情況,那么對象之間的關聯性就會變復雜,維護起來會更加困難。所以,中介模式就是幫助對象之間的解耦。和門面模式(外觀模式)不一樣的是,門面模式是為了解耦系統間的關系,而中介者模式是為了解耦對象之間的關系。
中介者模式UML圖,其中空心箭頭表示繼承,黑色箭頭表示引用。該圖表示,實體中介者Mediator依賴于同事實體,而同事抽象依賴于Mediator抽象類。把原本同事之間的依賴關系,變成了同事和中介者之間的依賴。類似于交換機和路由器的結構。
為什么ConcreteMediator不直接依賴Colleague呢? 因為ConcreteMediator要設計一套規則,來了解具體該交流的對象是哪一個
?
?
例如有這樣的一個場景: 點擊一次按鈕會讓界面和進度條的方式發生改變,而界面里又包含按鈕和進度條。所以按鈕依賴于界面和進度條,界面依賴于按鈕和進度條,為了簡化它們之間的關聯關系,運用中介者模式如下:
?
?
中介者的缺點也是顯而易見的。就是要處理對象關聯關系越多,對象越多,那么中介者類也會變得越來越臃腫。
總結
以上是生活随笔為你收集整理的设计模式理解:中介者模式(Mediator)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式的理解: 适配器模式 Adapt
- 下一篇: 设计模式的理解:状态模式(State)