Capítulo 12. Segregación de la Responsabilidad de la Consulta-Comando (CQRS)
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
En este capítulo, vamos a empezar con una idea bastante incontrovertible: las lecturas (consultas) y las escrituras (comandos) son diferentes, por lo que deben tratarse de forma distinta (o tener sus responsabilidades separadas, si quieres). Luego llevaremos esa idea tan lejos como podamos.
Si eres como Harry, todo esto te parecerá extremo al principio, pero espero que podamos argumentar que no es totalmente irrazonable.
La Figura 12-1 muestra dónde podríamos acabar.
Consejo
El código de este capítulo está en la rama chapter_12_cqrs de GitHub.
git clone https://github.com/cosmicpython/code.git cd code git checkout chapter_12_cqrs # or to code along, checkout the previous chapter: git checkout chapter_11_external_events
En primer lugar, ¿por qué molestarse?
Figura 12-1. Separar las lecturas de las escrituras
Los modelos de dominio son para escribir
Hemos pasado mucho tiempo en este libro hablando de cómo construir software que haga cumplir las reglas de nuestro dominio. Estas reglas, o restricciones, serán diferentes para cada aplicación, y constituyen el núcleo interesante de nuestros sistemas.
En este libro, hemos establecido restricciones explícitas como "No puedes asignar más existencias ...