BEHAVIORAL
State
Permettere a un oggetto di alterare il suo comportamento quando il suo stato interno cambia. L'oggetto sembrerà cambiare classe.
Esempi di Codice
State per Vending Machine
Distributore automatico con stati: NoMoney, HasMoney, Dispensing.
JAVASCRIPT
Loading...
Esempi nel Mondo Reale
TCP connection (Closed, Listen, Established)
Order processing (Pending, Confirmed, Shipped, Delivered)
Media player (Playing, Paused, Stopped)
Document workflow (Draft, Review, Approved, Published)
Game character states (Idle, Walking, Running, Jumping)
Quando Usarlo
Quando comportamento di oggetto dipende dal suo stato
Quando hai condizionali lunghi basati sullo stato
Quando stati hanno comportamenti complessi
Quando le transizioni tra stati sono ben definite
Quando NON Usarlo
Quando hai pochi stati semplici
Quando lo stato non influenza il comportamento
Quando aggiunge complessità inutile
Pattern Correlati