
CQRS separates read and write operations into different models.
Commands: Change state (create, update, delete). No return data beyond success/ID.
Queries: Read data. No side effects.
In .NET Core, CQRS is often implemented with mediator libraries (e.g., MediatR) and separate handlers for commands and queries.
Architecture impact: CQRS improves scalability, performance, and clarity in complex domains, especially when combined with DDD.
Reference:
TaskLoco™ — The Sticky Note GOAT