Strategie Pattern

28/05/2008 - 13:05 von IsaakTaylor | Report spam
Hallo,

habe ne kurze Frage zu Strategie-Pattern.

AllgemeineStrategie ist ein Interface z. B. mit der Methode Calc();
KonkreteStrategie1 ist eine Implementierung von AllgemeineStrategie
KonkreteStrategie2 ist eine Implementierung von AllgemeineStrategie
...

Klient(AllgemeineStrategie strategie)
{
this.strategie = strategie;
}

Aufruf:
KonkreteStrategie1 ks1 = new KonkreteStrategie1();
KonkreteStrategie1 ks2 = new KonkreteStrategie1();
Klient klient = new Klient(ks1);
oder
Klient klient = new Klient(ks2);

Ich sehe da irgendwie keinen Unterschied zu einer Basisklasse, von
der dann die konkreten Klassen abgeleitet werden. Ist quasi wie eine
Vererbungs-Beziehung.
 

Lesen sie die antworten

#1 Elmar Boye
28/05/2008 - 13:41 | Warnen spam
Hallo Isaak,

schrieb:

habe ne kurze Frage zu Strategie-Pattern.



Schau Dir mal die Erlàuterung in der Wikipedia an:
<URL:http://de.wikipedia.org/wiki/Strate...ter%29>

Ich sehe da irgendwie keinen Unterschied zu einer Basisklasse, von
der dann die konkreten Klassen abgeleitet werden. Ist quasi wie eine
Vererbungs-Beziehung.



Die zwangsweise Vererbung versucht das Strategie Muster gerade zu vermeiden.
Eine Strategie kann zur Verhaltensanpassung in unterschiedlichen
Klassenhierarchien verwendet werden -> sie müssen keine gemeinsame
Basisklasse haben.

Gruß Elmar

Ähnliche fragen