Java Reference
In-Depth Information
Die Kommunikation aller konkreten Kollegen untereinander erfolgt nur zentral über den
entsprechenden konkreten Vermittler.
Muss die Kommunikation zwischen den konkreten Kollegen abgeändert werden, weil
beispielsweise Kollegen in eine andere Abteilung versetzt werden, muss nur der kon-
krete Vermittler geändert bzw. die Referenz eines Kollegen auf einen anderen konkre-
ten Vermittler gesetzt werden. Ohne die Verwendung eines Vermittlers müsste man
entweder die Kollegen-Klassen selbst abändern oder sie durch Unterklassenbildung
an die neue Kommunikationsstruktur anpassen. Durch das Vermittler-Muster bleiben
also die Kollegen-Klassen - bzw. deren Objekte - in unterschiedlichen Kommunika-
tionsstrukturen unabhängig voneinander und damit wiederverwendbar.
4.13.3.2 Teilnehmer
Vermittler
Die Klasse Vermittler ist abstrakt und definiert die Schnittstelle, über welche die
Kollegen-Objekte Änderungen zur Weiterleitung an andere Kollegen einem Vermittler
mitteilen können.
KonkreterVermittler
Ein Objekt der Klasse KonkreterVermittler realisiert einen Vermittler. Der konkre-
te Vermittler implementiert die Kommunikationsstruktur zu den konkreten Kollegen. So
besitzt er beispielsweise eine Referenz auf alle Kollegen und ruft die entsprechenden
Methoden der anderen gewünschten Kollegen auf, wenn er von einem der Kollegen
benachrichtigt wird. Es kann mehrere Klassen für konkrete Vermittler geben, die an die
jeweils unterschiedlichen Gegebenheiten der Kollegen-Objekte und deren Zusammen-
spiel angepasst sind.
Kollege
Die Klasse Kollege ist eine abstrakte Basisklasse oder auch ein Interface für alle
konkreten Kollegen. Ein Kollege hält eine Referenz auf einen konkreten Vermittler. Er
informiert den Vermittler, wenn bei ihm eine Änderung eingetreten ist. Ein Kollege ar-
beitet mit seinem Vermittler zusammen. Er spricht nicht direkt mit den anderen Kolle-
gen, sondern nur indirekt über den Vermittler.
KonkreterKollegeX
Eine Klasse KonkreterKollegeX (X = A..Z) leitet von der Klasse Kollege ab
und definiert, wann eine Änderung eingetreten ist. Die Klasse verfügt über eine Metho-
de methodeX() , die der Vermittler bei einer Aktualisierung aufruft, um einen Kollegen
über eine erfolgte Änderung zu informieren.
4.13.3.3 Dynamisches Verhalten
Bild 4-41 zeigt nun das dynamische Verhalten der Beteiligten am Vermittler-Muster:
Search WWH ::




Custom Search