Das Strategy Pattern ist ein Verhaltensmuster der GoF von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides, das eine Familie von Algorithmen definiert, jeden einzelnen kapselt und sie austauschbar macht. Der Algorithmus kann dann unabhängig von den Clients variieren, die ihn verwenden. Das Pattern passt zu verwandten Klassen, die sich nur im Verhalten unterscheiden, zu mehreren Varianten eines Algorithmus und zu Algorithmen, deren Daten Clients nicht kennen sollen.
GoF-Strategy Pattern
Details
- Vollständiger Name
-
GoF Strategy Pattern (Behavioral)
Absicht:
Definiere eine Familie von Algorithmen, kapsle jeden einzelnen und mache sie austauschbar. Strategy ermöglicht es, den Algorithmus unabhängig von den Clients zu variieren, die ihn verwenden.
Wann zu verwenden:
-
Mehrere verwandte Klassen unterscheiden sich nur im Verhalten
-
Du brauchst verschiedene Varianten eines Algorithmus
-
Ein Algorithmus verwendet Daten, die Clients nicht kennen sollten
Prompt-Beispiel:
"Refactore diese Klasse nach dem GoF-Strategy Pattern, um die verschiedenen Berechnungsarten austauschbar zu machen."
Verwandte Anker:
-
GoF Design Patterns (Umbrella)