概述
中介者模式 (Mediator Pattern) 又称调停者模式。它定义一个中介对象封装一系列对象的交互,使得交互的对象不需要显式地引用。
优点:简化对象之间的交互,减少子类的数量。
缺点:中介类可能非常复杂。
abstract class AbstractMediator {
abstract void register(Member m);
abstract void action();
}
abstract class Member {
private AbstractMediator am;
private String name;
abstract void activity();
}
class Mediator extends AbstractMediator {
private ArrayList<Member> mbs;
public register(Member m) {
if (!mbs.contains(m)) {
mbs.add(m);
m.setAm(this);
}
}
public void action() {
// body
}
}
class SubMember extends Member {
public void activity() {
// other
am.action();
// other
}
}
图示:
参考
[1] 刘伟, 设计模式, 2011.