1. 程式人生 > >設計模式- 中介者模式

設計模式- 中介者模式

中介者模式
在我們做遊戲的時候,我們會把整體分為幾個系統,如戰鬥系統,介面系統等等。在類的數量比較小的時候,我們只需要相互呼叫就可以輕鬆的解決問題。但是當類的數量變多了之後,類之間相互依賴相互呼叫的話,首先破壞了單一職責原則。
單一系統引入太多其他系統的功能,不易於維護。若要是被太多其他系統依賴,不利於介面的更改,容易牽一髮而動全身。
中介者模式簡單解釋的話,類似於中央管理的概念,建立一個資訊集中的中心,任何子系統溝通時,都要把請求發給中央,中央經過處理後,再把資訊傳送回相應的子系統中。
首先,子系統類中需包含中介者類的屬性,構造方法中賦值。子系統的方法中可以呼叫中介者的方法。

我們先建立中介者物件,在建立子系統物件,將中介者傳入子系統物件中,再用中介者的set方法把子系統設定給中介者為屬性,在分別呼叫子系統的方法,傳入的引數可有該類的中介者物件方法計算之後傳遞給其它類。

總的來說,就是中介者和其他類兩兩互相包含,每個子系統都可以從中介者獲得其他類的資訊。中介者模式的優點就是降低耦合度,提高單一系統的可維護性,但身為模式中的 中介者角色,也會有介面過大的 風險,此時需要配合其他模式進行優化。