Top Banner
A Love Story Event Sourcing, CQRS & DDD
36

A Love Story

Jan 23, 2016

Download

Documents

breck

A Love Story. Event Sourcing, CQRS & DDD. @ pjimmy. SOA Guy Alt.Net Melbourne Organiser NServiceBus Trainer thejimmyp.com. A Typical Setup. Throw a Datagrid at It. Throw a Datagrid at It. … & let users interact with the data. Make the Implicit, Explicit. with task based UI’s. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Love Story

A Love StoryEvent Sourcing, CQRS & DDD

Page 2: A Love Story

@pjimmy

SOA GuyAlt.Net Melbourne OrganiserNServiceBus Trainerthejimmyp.com

Page 3: A Love Story

A Typical Setup

Page 4: A Love Story

Throw a Datagrid at It

Page 5: A Love Story

Throw a Datagrid at It

… & let users interact with the data

Page 6: A Love Story

Make the Implicit, Explicitwith task based UI’s

Page 7: A Love Story

Make it Task Based

Page 8: A Love Story

A Typical Setupwhich brings us back to

Page 9: A Love Story
Page 10: A Love Story
Page 11: A Love Story
Page 12: A Love Story
Page 13: A Love Story
Page 14: A Love Story
Page 15: A Love Story

Where are the Events?

Page 16: A Love Story

Where are the Events?

Page 17: A Love Story

What… All the Time?

Page 18: A Love Story

Where it Provides Maximum Value

What… All the Time?

Page 19: A Love Story

Entities & Value Objects

make up our domain

Page 20: A Love Story

Aggregate Roots

we access our domain via

Page 21: A Love Story

Car

Tire

Position

Engine

Page 22: A Love Story

Car

Tire

Position

Engine

Page 23: A Love Story

Maintain Consistency

using aggregates

Page 24: A Love Story

Car

Tire

Position

Engine

Page 25: A Love Story

Smaller Object Graphs

with aggregates

Page 26: A Love Story

CarWithTyres

Add(Tire)Remove(Tire)

Tire

Position

Engine

CarWithEngine

Page 27: A Love Story

CarWithTyres

Add(Tire)Remove(Tire)

Tire

Position

Engine

CarWithEngine

Page 28: A Love Story

Control Invariants

…whut?!?

Page 29: A Love Story

CarWithTyres

Add(Tire)Remove(Tire)

Tire

Position

Page 30: A Love Story

CarWithTyres

Rotate()

Tire

Position

Page 31: A Love Story

Audit Trail, Event Replay & Rebuild Application State

what can we do with an event log?

Page 32: A Love Story

Event Sourcing, CQRS &

DDDCould you tell them Apart?

Page 33: A Love Story

Questions?

Page 34: A Love Story

NServiceBus Training

Sydney Q3, contact me [email protected]

Page 35: A Love Story

With thanks to our sponsors

Page 36: A Love Story

Please complete your feedback forms, and return

them to the registration desk for a chance to win a

Nokia Lumia