CQRS

Architecture 🔴 Senior

Definition

Command Query Responsibility Segregation : separe les modeles de lecture (Query) et d'ecriture (Command). Permet d'optimiser chaque cote independamment.

Analogie

Un guichet de banque : un guichet pour deposer (ecriture), 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/ecriture tres differents ou des modeles de lecture complexes.

Anti-pattern

Appliquer CQRS a un simple CRUD — complexite injustifiee.
#architecture#interview#architecture-style