JAVA設計模式之Mediator模式

2021-05-25 06:14:04 字數 675 閱讀 3005

現實生活中,有很多實際的現象,比如,房產中介,購房者可以不去一家家房產商去跑,去聯絡,而可以通過房產中介來獲取房產商的資訊,同樣的房產商也不用自己聯絡顧客,而是通過中介來完成。同樣的,在乙個大公司裡,如果讓每個同事直接交流,則這樣的效率顯然很低下,因為每個員工可能需要維護很多個同事的資訊。這時,可以建立乙個交流中介,由交流中介來負責傳達每個同事的資訊請求,這樣,每個員工只需要維護乙個中介的資訊就ok了,而所有的工作都交付給中介來完成,由中介來負責維護各個同事的資訊。

中介者模式,就是解決上面一類問題而提出的設計思想。如果乙個物件需要和很多其他的物件互動,那麼他就需要維護很多個物件的資訊,這樣非常不利於物件的維護。對於這樣的多對多關係,我們可以採用中介者模式後,將其關係程式設計一對多關聯,降低了各個物件之間的耦合度。由中介者統一管理各個物件之間的聯絡和互動行為。

在很常見的mvc模式中,controller的角色其實就是一種mediator,充當model和view之間的中介,負責model和view之間的互動。

中介者模式的元件結構如下:

在使用中介者模式的時候,在mediator新增colleague的時候,就建立mediator和該colleague的關係

在addcolleague方法中呼叫colleague.setmediator(this)來建立。而不是在colleague的構造方法中傳入mediator物件。這樣可以隱藏這種雙向關聯關係。

java之設計模式

編寫 原則 開閉原則 對修改關閉 對擴充套件開發。如利於 二次開發 作用 1.重用 2.低耦合 模組與模組之間,類與類之間依賴程度要降低 3.高內聚 模組或者類內部依賴程度要高 4.易擴充 5.易維護 1.介面卡模式 橫向擴充套件,鏈條上有多個物件,每個物件持有下乙個物件的引用,這樣就會形成一條鏈,...

java設計模式之原型設計模式

原型設計模式 顧名思義,該模式的思想就是將乙個物件作為原型,對其進行複製 轉殖,產生乙個和原物件類似的新物件 設計思路 第一步 建立乙個類prototypemode,實現cloneable介面 第二步 在prototypemode中定義shallowclone方法 淺複製物件實現 和deepclon...

java設計模式之裝飾設計模式

裝飾設計模式 裝飾設計模式就是給乙個物件增加一些新的功能,而且是動態的。要求裝飾物件和被裝飾物件實現同乙個介面,裝飾物件持有被裝飾物件的例項 設計思路 第一步 定義介面action,在介面中提供乙個方法work 第二步 定義被裝飾類child,實現介面action 第三步 定義裝飾類adult,實現...