mediator中介者模式,用来管理很多对象之间的相互作用,将一系列对象中对象之间传递消息的细节封装在一个独立的类中,从而减少这些对象之间直接交互所带来的复杂度,和集成测试的难度。
mediator中介者模式,是用在这种情况下的,有n个对象,他们之间形成了复杂的相互引用的关系,在最坏的情况下,可能形成了n*(n-1)/2的关系链,随着n的增大,n*(n-1)/2也就随之不断递增,从而就形成了一种高耦合的复杂结构。如果用一个调停者来管理这些对象之间相互作用带来的复杂关系,对象之间的交互通过调停者进行间接的传递消息,从而减少对象之间直接作用的复杂度,最终实现解耦的目的。
这n个对象中的对象要向其他对象发送消息时,就向mediator类注册,然后执行相应的方法,实现消息的传递。
public class Aclass{
}
public class Bclass{
}
public class Cclass{
}
public class Mediator{
private Aclass a;
private Bclass b;
private Cclass c;
public void registerA(Aclass a){
this.a=a;
}
public void registerA(Bclass b){
this.b=b;
}
public void registerC(Bclass c){
this.b=b;
}
public void execute1(){
}
public void execute2(){
}
}