A Love Story Event Sourcing, CQRS & DDD
Jan 23, 2016
A Love StoryEvent Sourcing, CQRS & DDD
@pjimmy
SOA GuyAlt.Net Melbourne OrganiserNServiceBus Trainerthejimmyp.com
A Typical Setup
Throw a Datagrid at It
Throw a Datagrid at It
… & let users interact with the data
Make the Implicit, Explicitwith task based UI’s
Make it Task Based
A Typical Setupwhich brings us back to
Where are the Events?
Where are the Events?
What… All the Time?
Where it Provides Maximum Value
What… All the Time?
Entities & Value Objects
make up our domain
Aggregate Roots
we access our domain via
Car
Tire
Position
Engine
Car
Tire
Position
Engine
Maintain Consistency
using aggregates
Car
Tire
Position
Engine
Smaller Object Graphs
with aggregates
CarWithTyres
Add(Tire)Remove(Tire)
Tire
Position
Engine
CarWithEngine
CarWithTyres
Add(Tire)Remove(Tire)
Tire
Position
Engine
CarWithEngine
Control Invariants
…whut?!?
CarWithTyres
Add(Tire)Remove(Tire)
Tire
Position
CarWithTyres
Rotate()
Tire
Position
Audit Trail, Event Replay & Rebuild Application State
what can we do with an event log?
Event Sourcing, CQRS &
DDDCould you tell them Apart?
Questions?
NServiceBus Training
Sydney Q3, contact me [email protected]
With thanks to our sponsors
Please complete your feedback forms, and return
them to the registration desk for a chance to win a
Nokia Lumia