Das State Pattern, auch Objects for States genannt, ist ein Verhaltensmuster der GoF von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides, das einem Objekt erlaubt, sein Verhalten zu ändern, wenn sich sein interner Zustand ändert, sodass das Objekt seine Klasse zu wechseln scheint. Jeder Zustand kapselt sein Verhalten in einem eigenen Objekt; das ersetzt große zustandsabhängige Bedingungen und ist eine Art, eine Finite State Machine zu implementieren.
GoF-State Pattern
Details
- Vollständiger Name
-
GoF State Pattern (Behavioral)
- Auch bekannt als
-
Objects for States
Absicht:
Ermögliche einem Objekt, sein Verhalten zu ändern, wenn sich sein interner Zustand ändert. Das Objekt scheint seine Klasse zu wechseln.
Wann zu verwenden:
-
Wenn das Verhalten eines Objekts von seinem Zustand abhängt und sich zur Laufzeit ändern muss
-
Wenn Operationen große bedingte Anweisungen enthalten, die vom Zustand des Objekts abhängen
Prompt-Beispiel:
"Ersetze die verschachtelten if/switch-Statements durch das GoF-State Pattern, sodass jeder Zustand sein eigenes Verhalten kapselt."
Verwandte Anker:
-
GoF Design Patterns (Umbrella)
-
Finite State Machine — das Modell, das dieses Pattern umsetzt; das Pattern ist eine Art, es zu codieren