Wenn CQS Befehle daran hindert, Statusvariablen zurückzugeben, wie wird dann für Befehle codiert, die möglicherweise nicht erfolgreich sind? Nehmen wir an, Sie können sich nicht auf Ausnahmen verlassen.Command Query Separation: Befehle müssen void zurückgeben?
Es scheint, als ob alles, was Anfrage/Antwort ist, eine Verletzung von CQS ist.
Es scheint also so, als ob Sie eine Reihe von "mother may I" -Methoden haben würden, die die Status geben, die der Befehl zurückgegeben hätte. Was passiert in einer Multithread-/Multi-Computer-Anwendung?
Wenn drei Clients versuchen, das Objekt eines Servers um eins zu erhöhen (und das Objekt hat die Grenzen 0-100). Alle überprüfen, ob sie es können, aber man bekommt es - und die anderen beiden können nicht, weil es nur ein Limit erreicht hat. Es scheint so, als ob ein zurückgegebener Status das Problem hier lösen würde.