# Command/Query Separation

> Separating operations that change state from those that return data, so each method has a single purpose.

Record: `lex:command-query-separation`
Kind: principle
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lex-command-query-separation

## category

- [Event Messaging Async](https://banes-lab.com/records/lex-category/event-messaging-async.md)

## referenced-by

- [CQRS](https://banes-lab.com/records/arch/command-query-responsibility-segregation.md)
