Command-Query-Separation

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. Mai 2014 um 13:23 Uhr durch Degurina (Diskussion | Beiträge) (QS: Kategorien ergänzt). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Dieser Artikel wurde am 18. Mai 2014 auf den Seiten der Qualitätssicherung eingetragen. Bitte hilf mit, ihn zu verbessern, und beteilige dich bitte an der Diskussion!
Folgendes muss noch verbessert werden:  WP:Wikifizieren: Kategorien fehlen -- MerlBot 23:01, 18. Mai 2014 (CEST)

Command-Query-Separation (CQS)[1] (etwa: „Kommando-Abfrage-Trennung“) ist ein Prinzip des Softwareentwurfs. Das QCS-Prinzip wurde von Bertrand Meyer im Zuge seiner Arbeit an der Programmiersprache Eiffel erdacht.

Das QCS-Prinzip besagt, dass eine Methode entweder als Abfrage (query) oder als Kommando (command, modifier oder mutator) implementiert werden soll. Eine Abfrage muss hierbei Daten zurückliefern und keine Nebeneffekte auf dem beobachtbaren Zustand des Systems aufweisen, während ein Kommando beobachtbare Nebeneffekte aufweist und keine Daten zurückliefert.

Command-Query-Responsibility-Segregation

Die Command-Query-Responsibility-Segregation (CQRS)[2] (etwa: „Kommando-Abfrage-Zuständigkeits-Trennung“) ist eine Variante des QCS-Prinzips auf Datenbank-Abfragen, welches durch Greg Young definiert wurde.

Quellen

  1. Martin Fowler: CommandQuerySeparation. 5. Dezember 2005, abgerufen am 18. Mai 2014 (englisch).
  2. Martin Fowler: CQRS. 14. Juli 2011, abgerufen am 18. Mai 2014 (englisch).