Pros
✘ complete log of every state change
✘ easy way to undo things
✘ testing, traceability and debugability
✘ business and data analysis of event streams
✘ immutability
Slide 9
Slide 9 text
Cons
✘ complexity
✘ time to get used to
✘ limited support from frameworks
Slide 10
Slide 10 text
When
✘ rich object-oriented domain models
✘ critical accountability and debugability
✘ version control for data
✘ data can give you competitive advantage
✘ building scaleable systems based on CQRS pattern
Slide 11
Slide 11 text
CQS
Command Query Segregation
Slide 12
Slide 12 text
“
every method should either be a
command that performs an
action, or a query that returns
data to the caller, but not both.
— Bertrand Meyer
Slide 13
Slide 13 text
CQRS
Command Query Responsibility Segregation
Slide 14
Slide 14 text
“
creating two objects
where there was
previously only one