- Segregate the reponsibility query model and command model
- Query model includes actions such as reading, filtering, searching data. Generally, it returns result without change anything from data.
- Command model includes actions such as save, delete, login, other actions. Generally, it change the state of the data.
- Query model and command model can be different data structure depends on usage’s requirement
CQRS single service
CQRS multi services - single source
CQRS multi data sources