Command

Architecture 🟡 Mid

Definition

Encapsule une requete comme un objet, permettant de parametrer, mettre en file d'attente, journaliser et annuler des operations.

Analogie

Un bon de commande au restaurant : il capture l'intention, peut etre mis en attente ou annule.

Exemple de code

class CreateUserCmd {
  constructor(data) { this.data = data; }
  execute() { return db.users.insert(this.data); }
  undo() { return db.users.delete(this.data.id); }
}

Cas d'usage

Systeme undo/redo, file de taches asynchrones, CQRS command side.

Anti-pattern

Mettre la logique metier dans le command handler au lieu du domaine.

Termes lies

#architecture#interview#gof#behavioral