Java Reference
In-Depth Information
KonkreteStrategieX
Eine Klasse KonkreteStrategieX (X = A..Z) implementiert einen konkreten Al-
gorithmus, dessen Methodenkopf im Interface IStrategie deklariert wurde.
4.12.3.3 Dynamisches Verhalten
Ein Objekt der Klasse Kontext kann beispielsweise im Konstruktor bzw. beim Aufruf
von setzeStrategie() die Referenz auf ein Objekt der Klasse KonkreteStrate-
gieX (X = A..Z) erhalten. Damit kann es die Methoden des Objektes der Klasse
KonkreteStrategieX aufrufen.
Ein Sequenzdiagramm für das Strategie-Muster wird in Bild 4-37 gezeigt:
:Konkrete
StrategieA
:Konkrete
StrategieB
:Client
:Kontext
setzeStrategie
(:KonkreteStrategie A)
setzeStrategie ()
operation()
algorithmus()
algorithmus()
operation()
setzeStrategie
(:KonkreteStrategie B)
setzeStrategie ()
operation()
algorithmus()
algorithmus()
operation()
Bild 4-37 Sequenzdiagramm Strategie
Die Aufrufe der Methode operation() laufen im Kontextobjekt unterschiedlich ab, je
nachdem, welche aktuelle Strategie vom Client gesetzt wurde. Beim ersten Aufruf wird
die Methode algorithmus() eines Objekts der Klasse KonkreteStrategieA auf-
gerufen, beim zweiten Aufruf hingegen die Operation algorithmus() eines Objekts
der Klasse KonkreteStrategieB .
4.12.3.4 Programmbeispiel
In diesem Beispiel wird das Strategie-Muster dazu verwendet, einer Klasse, die zum
Speichern eines Datums verwendet wird, zu ermöglichen, das Datum je nach gewähl-
ter Strategie in verschiedenen Datumsformaten auszugeben.
Search WWH ::




Custom Search