Der Vermittler (Mediator) definiert ein Objekt, welches das Zusammenspiel einer
Menge von Objekten in sich kapselt. Vermittler fördern die lose Kopplung, indem
sie Objekte davon abhalten aufeinander explizit Bezug zu nehmen. Sie ermöglichen
es Ihnen, das Zusammenspiel der Objekte von ihnen unabhängig zu variieren
(Entwurfsmuster, E.Gamma, R.Helm, R.Johnson, J.Vlissides).
Ein Objekt, das wiederverwendet wird, leistet meist nicht vollständig
das, was es aus der Sicht des Entwicklers leisten soll. Funktionalität wird
ergänzt oder modifiziert indem von der Klasse abgeleitet wird. Müssen die
Objekte miteinander kommunizieren, so rufen sie sie einfach gegenseitig auf. So
kann es im schlimmsten Fall passieren, daß jedes Objekt auf jedes Andere Bezug
nimmt.
|
Abb. 1: Beziehungsgeflecht ohne Vermittler
|
Es entsteht ein Geflecht von Beziehungen, das unüberschaubar und nur schwer zu
warten ist.
Das Entwurfsmuster Vermittler stellt für diese
Problemstellung einen Lösungsansatz zur Verfügung.
|
Abb. 2: Verwendung eines Vermittlers
|
Auch hier kann jedes Objekt mit jedem Anderen kommunizieren, aber ausschließlich
über das Vermittlerobjekt.
|