Logo

CQRS

Définition

Le CQRS, ou Command Query Responsibility Segregation, est cette idée brillante qui consiste à dire : 'Et si on séparait ceux qui parlent de ceux qui écoutent ?' Ainsi, dans le monde merveilleux du CQRS, les commandes s'occupent de l'écriture, tandis que les requêtes, elles, se contentent de lire. Un peu comme une bibliothèque où les livres ne peuvent être lus que par certains et écrits que par d'autres, plus courageux.

Fonction Principale

Le CQRS est là pour nous rappeler que lire et écrire sont deux arts bien distincts. Grâce à lui, les performances s'améliorent, l'évolutivité devient possible, et surtout, on peut enfin blâmer une partie du système sans affecter l'autre. C'est la séparation des pouvoirs, version informatique.

Caractéristiques

  • Séparation des modèles de lecture et d'écriture : parce que mélanger les deux, c'est comme essayer de danser en marchant sur un fil.
  • Optimisation indépendante des performances : enfin, les lecteurs et les écrivains peuvent vivre en paix, chacun à leur rythme.
  • Facilite l'évolutivité : parce que grandir, c'est bien, mais grandir sans se marcher sur les pieds, c'est mieux.
  • Souvent utilisé avec l'Event Sourcing : pour ceux qui aiment garder une trace de tout, même des erreurs.

En Pratique

Exemple d'implémentation de CQRS, ou comment organiser une fête où personne ne se parle :

Définir des commandes pour les opérations d'écriture : parce que donner des ordres, c'est plus facile que de les exécuter.

Définir des requêtes pour les opérations de lecture : pour ceux qui préfèrent observer plutôt qu'agir.

Utiliser des gestionnaires distincts pour traiter commandes et requêtes : parce que déléguer, c'est l'art de vivre.

Logo