Strategy Pattern
Das Strategy-Pattern kapselt Algorithmen als eigenständige Strategieobjekte, wechselt Algorithmen zur Laufzeit über eine Schnittstelle und vermeidet bedingte Verzweigungen.
Zweck
Algorithmusfamilien austauschbar machen und Clients von den Implementierungen entkoppeln.
Mechanismus
Man definiert eine Strategie-Schnittstelle, die jeder Algorithmus implementiert. Der Kontext hält eine Strategiereferenz und delegiert daran. Das Austauschen des Strategieobjekts zur Laufzeit ändert das Verhalten. Kombiniert mit dem Factory-Pattern zur Erzeugung von Strategieinstanzen.
Anwendungsfälle
- Algorithmuswechsel
- Beseitigung von Verzweigungen
- Zahlungs- oder Sortierstrategien