Mediator

Das Mediator Pattern (siehe Design Pattern) wird verwendet, wenn eine Menge von Objekten auf komplizierte Art und Weise interagiert.

Die interagierenden Objekte werden als Colleagues bezeichnet. Die Colleagues interagieren nicht direkt miteinander, sondern nur indirekt mittels des Mediators. Dazu halten die Colleagues eine Referenz auf den
Mediator und der Mediator hält Referenzen auf die Colleagues, deren Interaktion er dirigieren soll.

public class
Mediator
{
private final Colleague1 colleague1;
private final Colleague2 colleague2;
...
//
public
Mediator()
{
super();
//
colleague1 = new Colleague1(this);
colleague2 = new Colleague2(this);
...
}
//
public void doSomething()
{
colleague1.doSomething();
colleague2.doSomething();
}
//
...
}

public class Colleague1
{
private final
Mediator mediator;
//
public Colleague1(
Mediator mediator)
{
super();
//
this.
mediator = mediator;
}
//
public void doSomething()
{
...
}
}

public class Colleague2
{
private final
Mediator mediator;
//
public Colleague2(
Mediator mediator)
{
super();
//
this.
mediator = mediator;
}
//
public void doSomething()
{
...
}
}