CQRS Command Query Responsibility Segregation - Separate the query side from the command side.
Use the CQRS pattern when
- You want to scale the queries and commands independently.
- You want to use different data models for queries and commands. Useful when dealing with complex domains.
- You want to use architectures like event sourcing or task based UI.