定義:?(Mediator Pattern)
用一個中介對象封裝一系列的對象交互,中介者使各對象不需要顯示地相互作用,從而使耦合松散,而且可以獨立地改變它們之間的交互。
類圖:
啟示:
最近兩年,樓市瘋狂,房價漲的離譜。為了預防樓市泡沫,中央出臺一項項政策進行調控。在這樣一個現(xiàn)實場景中,共有三個角色,買房者,房地產(chǎn)商,住建局。
買房者關注房地廠商的樓盤及房價,決定是否買房;
房地廠商關注買方市場,是否需要新建樓盤;
住建局就來協(xié)調買方與賣方市場,限購限建。
三個角色相互依賴,相互交互。耦合性比較緊,如何來解耦呢?中介者來幫忙。
中介是誰呢?就像你去買房,你肯定找中介啊,中介無所不知,他們即知道房地廠商有哪些樓盤,又了解買房市場的需求,同時也很熟悉國家的樓市政策。
代碼:
/// <summary> /// 抽象角色(模塊) /// 主要實現(xiàn)中介的依賴注入 /// </summary> public abstract class Role { protected AbstractMediator mediator; public Role(AbstractMediator mediator) { this.mediator = mediator; } }