Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to each other explicitly,and it lets you vary their interaction independently.(用一箇中介對象封裝一系列的對象交互,中介者使各對象不須要顯示地相互做用,從而使其耦合鬆散,並且能夠獨立地改變它們之間的交互。)架構
一個業務須要多個對象參與,他們之間的依賴關係聯繫緊密,但卻很混亂。優化
一系列的對象依賴關係複雜,層次混亂,那麼能夠用中介者模式進行重構,抽象對象的關係爲中介者與同事類的關係。重構後的架構有一箇中介者,多個同時類,原來的每個類都有一個對應的同事類, 完成本身的事情,若是這一個類須要完成的事情須要其餘類來協做的話,統一用中介者的方法來代理,中介者該方法的實現實際上就是調用另外一個具體的同事類來完成的。這樣能夠避免類之間調用關係的混亂。原來的如原來的A->B->C->B->A優化爲了A->中介者,B->中介者,C->中介者,而後中介者->A,B,C,D代理