Comando-Consulta-Responsabilidad-Segregación

Image
Principio funcional de CQRS con abastecimiento de eventos

La Segregación de Responsabilidad de Consulta de Comando ( CQRS , [ kə'mæ: nd 'kwɪ (ə) ri: ri, spɑnsə'bɪləti, sɛgrɪ'geiʃ ( ] ) n ] o [ si: kju: ɑ: r ,s ], en inglés para tales como "Separación de responsabilidades de consultas de comandos") es un patrón de diseño para consultas de bases de datos que fue definido por Greg Young .

El patrón CQRS propaga una división del modelo de objetos en dos modelos de objetos con respecto al acceso a la base de datos:

  • un modelo de objeto para acceso de lectura
  • un modelo de objeto para acceso de escritura

A diferencia de una vista CRUD para acceder a una base de datos, donde un objeto común es responsable de las consultas, así como de leer, escribir y eliminar, hay dos objetos con CQRS: comandos para escribir (cambiar y eliminar) y consultas para leer.

ventajas

desventaja

  • Alto esfuerzo en desarrollo de software. Más adecuado para proyectos con muchos usuarios simultáneos.
  • Requiere la infraestructura adecuada.
  • Las transacciones son difíciles de implementar.
  • Las consultas se pueden realizar antes de ejecutar los comandos. Por lo tanto, se requieren versiones y una memoria caché en memoria para garantizar que el cliente reciba los datos en la versión correcta.

Frameworks

.NETO
JVM
JavaScript
  • wolkenkit. Consultado el 27 de junio de 2017 (inglés, CQRS, DDD y marco de abastecimiento de eventos para JavaScript).
PHP
  • prooph. Consultado el 1 de febrero de 2018 (inglés, CQRS e infraestructura de abastecimiento de eventos para PHP).

literatura

  • Chris Richardson: Patrones de microservicios . Manning, Shelter Island NY 2019, ISBN 978-1-61729-454-9 , págs. 228-252 (inglés americano).

enlaces web

hinchar

  1. Martin Fowler: CQRS. 14 de julio de 2011, consultado el 18 de mayo de 2014 .
  2. ^ Greg Young: Documentos de CQRS por Greg Young. (PDF) En: WordPress. Noviembre de 2010, consultado el 13 de julio de 2014 .
  3. http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/