Command-Query-Responsibility-Segregation

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Funktionsprinzip von CQRS mit Event Sourcing

Die Command-Query-Responsibility-Segregation (CQRS, [kə'mæ:nd 'kwɪ(ə)ri: ri,spɑnsə'bɪləti ,sɛgrɪ'geiʃ(ə)n] bzw. [si: kju: ɑ:r ɛs],[1] englisch für etwa Kommando-Abfrage-Zuständigkeits-Trennung) ist eine Variante des CQS-Prinzips auf Datenbank-Abfragen, welches durch Greg Young definiert wurde.[2]

Vorteile[Bearbeiten | Quelltext bearbeiten]

Nachteile[Bearbeiten | Quelltext bearbeiten]

  • Hoher Aufwand in der Softwareentwicklung. Eignet sich eher für Projekte mit vielen gleichzeitigen Benutzern.
  • Benötigt passende Infrastruktur.
  • Transaktionen sind schwer umzusetzen.
  • Queries können durchgeführt werden, bevor Commands durchgeführt wurden. Es werden daher Versionierung und ein In-Memory-Cache benötigt um sicherzustellen, dass der Client Daten in der richtigen Version erhält.

Trivia[Bearbeiten | Quelltext bearbeiten]

Die Abkürzung CQRS wird von Softwareentwicklern aufgrund der Google-Autokorrektur scherzhaft als cars [kɑrz] ausgesprochen.

Frameworks[Bearbeiten | Quelltext bearbeiten]

.NET
JVM
JavaScript
  • wolkenkit. Abgerufen am 27. Juni 2017 (englisch, CQRS-, DDD- und Event-Sourcing-Framework für JavaScript).

Weblinks[Bearbeiten | Quelltext bearbeiten]

Quellen[Bearbeiten | Quelltext bearbeiten]

  1. Martin Fowler: CQRS. 14. Juli 2011, abgerufen am 18. Mai 2014 (englisch).
  2. Greg Young: CQRS Documents by Greg Young. In: WordPress. November 2010, abgerufen am 13. Juli 2014 (PDF, englisch).