中介者模式和观察者模式的区别_序列中介作用
生活随笔
收集整理的這篇文章主要介紹了
中介者模式和观察者模式的区别_序列中介作用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
動機
在軟件構建過程中,經常會出現多個多個對象相互關聯交互的情況,對象之間常常會維持一種復雜的引用關系.如果遇到一些需求的更改.這種直接的引用關系將面臨不斷地變化
這種情況下,我們可以使用一個”中介對象”來管理對象間地關聯關系,避免相互交互地對象之間地緊耦合引用關系,從而更好地抵御變換
模式定義
用一個中介對象來封裝(封裝變化)一系列地對象交互中.中介者使各個對象不需要顯式地相互引用(編譯時依賴->運行時依賴),從而使其耦合松散(管理變化),而且可以獨立地改變他們之間地交互
結構
要點總結
- 將多個對象間復雜的關聯關系解耦,Mediator模式將多個對象間的控制邏輯進行集中管理(往往在背后需要實現調用機制),變”多個對象相互管理”為”多個對象和一個中介者關聯”,簡化了系統的維護,抵御了可能的變化
- 隨著控制邏輯的復雜化,Mediator具體對象的實現可能相當復雜.這時候可以對Mediator對象進行分解處理
- Facade模式是解耦系統間(單向)的對象關聯關系;Mediator模式是解耦系統內各個對象之間(雙向)的關聯關系
- Facade模式是解耦系統間(單向)的對象關聯關系;Mediator模式是解耦系統內各個對象之間(雙向)的關聯關系
筆記
- 情景 比如更改界面的時候控件會變 更改控件的時候界面會變.界面中引用控件,控件中引用界面
- 雙向依賴關系 控件引用界面 界面引用控件
- 結構圖中 Colleage之間式不依賴地(本來是直接依賴)Mediator和Colleage之間式雙向依賴 但是Colleage之間不是雙向依賴了
- ConcreteColleage1 和 ConcreteColleage2現實當中可能不是繼承某個子類
- 將對象互相錯綜復雜地引用 變成 他們共同引用一個Mediator 然后互相調用地時候都是通過Mediator去調用
- 調用通知規范是靈活地
- 直接依賴關系變成間接依賴關系
- Fasade解決地是系統外和系統內地隔離 Mediator是系統內自己地隔離
總結
以上是生活随笔為你收集整理的中介者模式和观察者模式的区别_序列中介作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十大安全数字货币钱包排行榜_全球数字货币
- 下一篇: 直接调用支持ACE的product se