寫在前面
上篇文章講到外觀模式,在外界管理各個子系統時,使用外觀模式減少與內部多個子系統模塊進行交互,從而降低應用程序的複雜度。
本文介紹另外一種設計模式--------中介者模式(又稱調停者模式)
當我們的多個系統模塊之間會有通信,如果系統之間雜亂無章的進行通信數據交互的話,耦合性很高,不容易維護。
中介者模式就是解決這種情況,定義一箇中介對象來封裝系列對象之間的交互。中介者使各個對象不需要顯示的相互應用,從而降低其耦合性,而且可以獨立地改變他們之間的交互。
案例分析
各個子系統之間錯中複雜的進行交互,使用中介者模式很好的避免了這種問題
將原先的“多對多”變化爲“一對一”
模式優點
簡化了對象之間的關係,將系統的各個對象之間的交互關係進行封裝,將各個子系統類解耦;
提供系統的靈活性,使得各個系統對象獨立而易於複用
模式缺點
由於中介者承擔了較多的責任,所以當中介者被破壞後,各個系統將可能受到影響
當我們的遊戲中需要添加新的系統時候,這樣將要修改中介類,違背了設計原則的開閉原則