中介者模式(Mediator)

2022-08-27 21:57:20 字數 752 閱讀 6065

一:適用情況

場景中存在多個角色並且其中多個角色互相存在直接關聯,從而導致過多的強耦合和過複雜的關係網路。此時新增乙個中介者角色,

其他都角色只會和中介者發生直接關聯,每個角色都通過中介者間接與其他角色進行溝通,從而化解了之前的強耦合。

這裡的中介者如同我們辦公室裡的交換機、路由器, 我們用的電腦就是各個角色,彼此沒有發生直接聯絡而是通過交換機和路由器來間接互動。

如果沒有中介者的話,可能的情況是這樣:

二:定義

用乙個中介物件封裝一系列的物件互動,中介者使各物件不需要顯示地相互作用,從而使耦合鬆散,而且可以獨立地改變它們之間的互動。

總的得來說,新增乙個中介者將互動攬在身上。

三:涉及的主要角色

1.抽象中介者角色。

2.具體中介者角色。

3.同事角色。

四:優缺點

1.優點很明顯,減少類之間的依賴,把原來的一對多的依賴轉為一對一的依賴, 也降低了類之間的耦合。

2.缺點也很明顯, 可以預見得到中介類會變的很臃腫。

Mediator 中介者 模式

問題 在物件導向系統的設計和開發過程中,物件之間的互動和通訊是最為常見的情況,因為物件間的互動本身就是一種通訊。在系統比較小的時候,可能物件間的通訊不是很多 物件也比較少,我們可以直接硬編碼到各個物件的方法中。但是當系統規模變大,物件的量變引起系統複雜度的急劇增加,物件間的通訊也變得越來越複雜,這時...

設計模式 中介者模式Mediator

前言 模式總覽 by xingoo 使用乙個中介的物件,封裝一組物件之間的互動,這樣這些物件就可以不用彼此耦合。這個中介者常常起著中間橋梁的作用,使其他的物件可以利用中介者完成某些行為活動,因此它必須對所有的參與活動的物件瞭如指掌!1 當一組物件要進行溝通或者業務上的互動,但是其關係卻又很複雜混亂時...

行為模式之Mediator 中介者

mediator定義 用乙個中介物件來封裝 一系列關於物件互動行為.為何使用mediator?各個物件之間的互動操作非常多 每個物件的行為操作都依賴彼此對方,修改乙個物件的行 為,同時會涉及到修改很多其他物件的行為,如果使用mediator模式,可以使各個物件間的耦合鬆散,只需關心和 mediato...