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