Java Reference
In-Depth Information
:Konkreter-
KollegeA
:Konkreter-
Vermittler
:Konkreter-
KollegeB
:Client
aenderung()
aenderung()
aenderungAufgetreten(this)
aenderungAufgetreten()
methodeB()
methodeB()
aenderung ()
aenderung ()
aenderungAufgetreten(this)
aenderungAufgetreten()
methodeA()
methodeA()
Bild 4-41 Sequenzdiagramm des Vermittler-Musters
In Bild 4-41 führt ein Client eine Veränderung am Objekt der Klasse Konkreter-
KollegeA durch. Danach teilt dieses Objekt seinem konkreten Vermittler mit, dass
eine Änderung eingetreten ist. Das Objekt der Klasse KonkreterVermittler nimmt
diesen Methodenaufruf entgegen und informiert dann die weiteren Kollegen über die
Veränderung, in diesem Falle das Objekt der Klasse KonkreterKollegeB .
Ferner wird im Sequenzdiagramm gezeigt, dass, wenn der Client das Objekt der Klas-
se KonkreterKollegeB ändert, dieses wiederum den Vermittler informiert und die-
ser dann die Methode methodeA() des Objekts der Klasse KonkreterKollegeA
aufruft, sodass dieser Kollege Kenntnis über die Änderung erhält.
Es sei hier noch erwähnt, dass das Client-Objekt, das in Bild 4-41 dargestellt ist, nicht
Bestandteil des Musters ist. Es steht hier stellvertretend für Objekte, die eine Änderung
bei einem der Kollegen-Objekte bewirken und dadurch eine Benachrichtigung anderer
Kollegen über den Vermittler auslösen.
Weitergehende Lösungsvarianten
Die bisherige Beschreibung des Vermittler-Musters basierte auf einer sehr einfachen
Form dieses Musters. Damit sollte das Prinzip des Musters zuerst einmal verständlich
erklärt werden. Bei einer genaueren Betrachtung des Klassendiagramms in Bild 4-39
fällt aber ins Auge, dass Vermittler und Kollegen stark gekoppelt sind. Einmal gibt es
eine Abhängigkeit auf der abstrakten Ebene und zum anderen gibt es eine umgekehrt
gerichtete Abhängigkeit auf der konkreten Ebene. Hier ist der Vermittler sogar von je-
der konkreten Kollegen-Klasse abhängig.
Weitere Punkte, die von der bisherigen Beschreibung nicht abgedeckt wurden, sind:
x Woher kennt der Vermittler die zu benachrichtigenden Kollegen?
x Woher weiß der Vermittler, welcher Kollege bei welchem Ereignis zu benachrichti-
gen ist?
Search WWH ::




Custom Search