定義
中介者模式(Mediator Pattern)又稱為調(diào)解者模式或者調(diào)停者模式死姚。用一個中介對象封裝一系列的對象交互勤篮,中介者使各對象不需要顯示地相互作用碰缔,從而使其耦合松散,而且可以獨立地改變它們之間的交互金抡。
核心:通過中介者解耦系統(tǒng)各層次對象的直接耦合,層次對象的對外依賴通信統(tǒng)統(tǒng)交由中介者轉(zhuǎn)發(fā)蝠猬。
屬于行為型模式。
適用場景
- 系統(tǒng)中對象之間存在復(fù)雜的引用關(guān)系榆芦,產(chǎn)生的相互依賴關(guān)系結(jié)構(gòu)混亂且難以理解喘鸟。
- 交互的公共行為,如果需要改變行為則可以增加新的中介者類什黑。
中介者模式與代理模式的區(qū)別
- 都有中間角色牽線搭橋
- 代理模式主要是增強,會承擔(dān)一部分職責(zé)進行操作
- 中介者模式是不負(fù)責(zé)任的代理模式
舉例
- JDK Timer
優(yōu)點
- 減少類間依賴愕把,將多對多依賴轉(zhuǎn)化成一對多,降低了類間耦合恨豁。
- 類間各司其職,符合迪米特法則菊匿。
缺點
- 中介者模式中將原本多個對象直接的相互依賴變成了中介者和多個同事類的依賴關(guān)系。當(dāng)同事類越多時跌捆,中介者就會越臃腫,變得復(fù)雜且難以維護佩厚。