Investigating CQRS Mark J. Miller
Overview Introducing CQRS Investigating SimpleCQRS framework Extending SimpleCQRS – Adding IoC – Replacing “storage” (Event Sourcing, Read Model) – Client Ids – Optimizing Serialization – Guaranteed Delivery – Event Store transparency (how do I look at the data?)
Introducing CQRS Impedance Mismatch Command-Query Responsibility Segregation CQRS != Event Sourcing Eventual Consistency not required (but it helps) Idempotence and Guaranteed Delivery (At-least once) Very DDD friendly – (Read the book)
Command/Query Responsibility Segregation QueriesQueries CommandsCommands DB WSWS InputInput ValidationValidation ValidationValidation RulesRules QueriesQueries View Model Updater Updater Publish UI
Demo SimpleCQRS Gui
SimpleCQRS
SimpleCQRS Process Flow
Extending SimpleCQRS – Adding IoC – Replacing “storage” (Event Sourcing, Read Model) – Client Ids – Optimizing Serialization – Guaranteed Delivery – Event Store transparency (how do I look at the data?)
Cart Created 3 Items Added 1Item Removed Shipping Information Added
5 snap
Comb?
CQRS Samples SimpleCQRS – Greg Young – Fohjin.DDD – Mark Nijhof – /Fohjin.DDD.Example/ /Fohjin.DDD.Example/ CQRS Kitchen – Dennis Doomen –
Did you mean CARS? CQRSInfo.com Greg Young - codebetter.com/blogs/gregyoung Udi Dahan – Mark Nijhof - elegantcode.com Jonathan Oliver - jonathan-oliver.blogspot.com DDD: – Domain-Driven Design, Eric Evans – Comb: – – server.aspx server.aspx