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: