設計模式 中介者模式

2021-07-04 10:58:32 字數 1221 閱讀 8519

假如沒有總經理,下面三個部門:財務部,市場部,研發部。財務部要發工資,讓大家核對公司需要跟市場部和研發部都通氣;市場部要接新專案,需要研發部處理技術、需要財務部出資金。市場部跟各個部門打交道。雖然只有三個部門,但是關係非常亂。

實際上,公司都有總經理。各個部門有什麼事情都通報到總經理這裡,總經理再通知各個相關部門。這就是乙個典型的「中介者模式」,總經理起到乙個中介、協調的作用。

如果乙個系統中物件之間的聯絡呈現為網狀結構,物件之間存在大量多對多關係,將導致關係及其複雜。我們可以引入乙個中介者物件,使各個物件只跟中介者打交道,將複雜的網路結構化解為星型結構。

解耦多個物件之間的互動關係。每個物件都持有中介者物件的引用,只跟中介者物件打交道。我們通過中介者物件統一管理這些互動關係。

/**

*部門介面

*/public inte***ce department

//研發部

public class development implements department

public void outaction()

public void selfaction()

}//財務部

public class finacial implements department

public void outaction()

public void selfaction()

}//財務部

public class market implements department

public void outaction()

public void selfaction()

}/**

* 中介者介面

*/public inte***ce mediator

//總經理類(中介者的實現類)

設計模式 中介者模式

在我們的日常生活中經常需要購買各種各樣的東西,房子 車子 生活用品等等。那麼我們並不會對各個產品都了解,所以銷售人員應運而生,他們了解產品,然後他們根據你的需求在向你們推薦符合你們要求的產品。這些銷售人員就相當於中介,處於客戶和產品之間,為你們搭橋牽線。這就是這篇需要講述的乙個設計模式 中介者模式。...

設計模式 中介者模式

在學習這個模式之前,我們先來回顧一下乙個物件導向的設計原則 迪公尺特原則,這個原則告訴我們 乙個物件盡可能少跟其他物件進行關聯,就像乙個人要少跟陌生人說話一樣。而中介者模式,也正是為了協調多個物件之間複雜的引用關係。我們來看乙個例子,雖然這個例子不太好,後期想個好一點的例子再改。在中介者模式中,主要...

設計模式 中介者模式

問題 當專案有多個系統或者管理類,他們之間需要互相呼叫的時候,怎麼辦。如果直接在這些系統或者管理類之間互相注入對方的引用,這雖然可以暫時解決問題,但後期會造成 的依賴程度變高,耦合難解,而且單個類知道的引用內容過多,不符合最少只是原則,推薦使用中介者模式解耦和。抽象類如下 中介者介面 public ...