CQRS

Architecture 🔴 Senior

Définition

Command Query Responsibility Ségrégation : sépare les modèles de lecture (Query) et d'écriture (Command). Permet d'optimiser chaque cote indépendamment.

Analogie

Un guichet de banque : un guichet pour déposer (écriture), un autre pour consulter le solde (lecture).

Exemple de code

// Command side
class CreateOrderCmd { execute(data) { db.write(data); } }
// Query side (modele optimise lecture)
class OrderQuery { getList() { return readDb.orders.find(); } }

Cas d'usage

Applications avec des ratios lecture/écriture très différents ou des modèles de lecture complexes.

Anti-pattern

Appliquer CQRS a un simple CRUD — complexité injustifiée.
#architecture#interview#architecture-style

← → au clavier pour passer d'une fiche à l'autre