定义
通过包装一系列对象相互作用的方式,使得这些对象不必相互明显作用,将多对多的相互作用转化为一对多的相互作用。
使用场景
对象之间的交互操作很多且每个对象的行为操作都依赖彼此。
Java 代码示例
public abstract class Colleague {
protected Mediator mMediator;
public Colleague(Mediator mediator) {
mMediator = mediator;
}
public abstract void action();
}
public abstract class Mediator {
protected ColleagueA mColleagueA;
protected ColleagueB mColleagueB;
public void setColleagueA(ColleagueA colleagueA) {
mColleagueA = colleagueA;
}
public void setColleagueB(ColleagueB colleagueB) {
mColleagueB = colleagueB;
}
public abstract void method();
}
public class ColleagueA extends Colleague {
public ColleagueA(Mediator mediator) {
super(mediator);
}
@Override
public void action() {
}
}
public class ColleagueB extends Colleague {
public ColleagueB(Mediator mediator) {
super(mediator);
}
@Override
public void action() {
}
}
public class ConcreteMediator extends Mediator {
@Override
public void method() {
mColleagueA.action();
mColleagueB.action();
}
}