設計模式之Mediator 仲介者

2021-08-29 03:08:01 字數 945 閱讀 3510

mediator定義

:用乙個仲介物件來封裝一系列關於物件互動行為。

為何使用

mediator?

各個物件之間的互動操作非常多;每個物件的行為操作都依賴彼此對方,修改乙個物件的行為,同時會涉及到修改很多其他物件的行為,如果使用mediator模式,可以使各個物件間的耦合鬆散,只需關心和mediator的關係,使多對多的關係變成了一對多的關係,可以降低系統的複雜性,提高可修改擴充套件性。

如何使用?

首先有乙個介面,用來定義成員物件之間的互動聯絡方式:

public inte***ce mediator

meiator具體實現,真正實現互動操作的內容:

public class concretemediator implements mediator

再看看另外乙個參與者:成員,因為是互動行為,都需要雙方提供一些共同介面,這種要求在visitor observer等模式中都是相同的。

public class colleague

public void setmediator( mediator mediator )

} public class concretecolleague1

public class concretecolleague2

每個成員都必須知道mediator,並且和mediator聯絡,而不是和其他成員聯絡。

至此,mediator模式框架完成,可以發現mediator模式規定不是很多,大體框架也比較簡單,但實際使用起來就非常靈活。

mediator模式在事件驅動類別應用中比較多,例如介面設計gui.;聊天,訊息傳遞等,在聊天應用中,需要有乙個messagemediator,專門負責request/reponse之間任務的調節。

mvc是j2ee的乙個基本模式,view controller是一種mediator,它是jsp和伺服器上應用程式間的mediator。

設計模式之 mediator

中介者?這個名字沒完全表達本身的含義,這個應該是調停者或者叫仲裁者,都比中介者強。啥個意思?就是多個物件相互影響,為了好控制,好管理,把互動的邏輯全部交到仲裁者那去做,這就是 mediator的中心思想。再舉那個bt的vadialg為例,涉及到太多的互動了,換乙個list導致介面很多元素都得換,所以...

設計模式之Mediator

mediator翻譯為仲裁者,常用於圖形程式設計中,有多個同事類相互狀態依賴的場景 使用仲裁者模式可以解耦各個同事類間的互動等依賴 mediator模式是把同事類間的互動邏輯統一放到mediator類中進行統一管理,把各個同事類的狀態管理放在mediator中,操作同事類後狀態切換時,同事類通過上報...

JAVA設計模式之Mediator模式

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