State

Architecture 🟡 Mid

Definition

Permet a un objet de modifier son comportement quand son etat interne change. L'objet semble changer de classe.

Analogie

Un distributeur de boissons : son comportement change selon qu'il attend une piece, a recu le paiement ou est en rupture.

Exemple de code

class Order {
  setState(state) { this.state = state; }
  next() { this.state.next(this); }
}
class PendingState {
  next(order) { order.setState(new PaidState()); }
}

Cas d'usage

Machine a etats pour workflows (commande, paiement), connexions reseau, UI.

Anti-pattern

Gros switch/case sur l'etat au lieu d'encapsuler le comportement dans des classes d'etat.

Termes lies

#architecture#interview#gof#behavioral