Unfortunately, the Wikipedia article [1] doesn&#x27;t distinguish between CQRS (command-query responsibility segregation) and CQS (command-query separation). They are entirely different concepts. Compare Fowler&#x27;s CQRS article [2] to his CQS article [3].<p>CQS is an old OO design principle suggesting that an object&#x27;s behavior is <i>easier to reason about</i> if every method <i>either</i> changes the state of the object <i>or</i> interrogates its current state. That&#x27;s not always possible, but it&#x27;s a helpful habit.<p>CQRS is the idea that use cases involving searching and reporting across many entities are fundamentally different from use cases involving interactions with particular entities. It is therefore sometimes worthwhile to develop separate data models for searching and reporting that are updated asynchronously.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Command–query_separation" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Command–query_separation</a><p>[2] <a href="http:&#x2F;&#x2F;martinfowler.com&#x2F;bliki&#x2F;CQRS.html" rel="nofollow">http:&#x2F;&#x2F;martinfowler.com&#x2F;bliki&#x2F;CQRS.html</a><p>[3] <a href="http:&#x2F;&#x2F;martinfowler.com&#x2F;bliki&#x2F;CommandQuerySeparation.html" rel="nofollow">http:&#x2F;&#x2F;martinfowler.com&#x2F;bliki&#x2F;CommandQuerySeparation.html</a>