This is an old revision of the document!
Command and Query Responsibility Segregation ist ein Konzept das auf CQS1) von Bertrand Mayer2) basiert, und von Greg Young entwickelt wurde. CQS trennt die Aufgaben eines Objektes in zweierlei. Entweder setzt eine Methode eines Objektes einen Befehl um, oder sie beantwortet eine Frage. Wenn sie einen Befehl umsetzt hat die Methode keinen Rückgabewert. Wenn sie eine Frage beantwortet bleibt das Objekt unverändert, so dass die Antwort auf die Frage 3) immer dieselbe bleibt.
CQRS geht einen Schritt weiter indem es die Aufgaben auf zwei Objekte aufteilt. Ein Objekt führt Befehle aus, das andere beantwortet Fragen. So kann jedes Objekt für die eigenen Aufgaben optimiert werden.