Command Query Responsibility Segregation separa operações de escrita e leitura.
API
│
┌──────┴──────┐
▼ ▼
Commands Queries
│ │
▼ ▼
Write Model Read Model
│ │
▼ ▼
Database Read DatabasePode ser combinado com Event Sourcing.
É útil quando:
- Leitura e escrita têm necessidades muito diferentes
- O sistema possui alto volume
- É necessário otimizar consultas complexas
Para um CRUD comum, geralmente é overengineering.