From CRUD to DDD: how did we end up here?
summary
Starts from a CRUD recipe site and shows concrete steps: extract a recipe aggregate to enforce rules like "cannot publish without ingredients", replace full-state edits with intentful commands, route them through a command bus so transactions/logging/queuing become central, separate reads with CQRS and projectors, emit domain events to an event store and replay for reprojection and audit, and optionally snapshot to avoid rebuilding long event streams. The demo notes editing one new field touching seven files.
AI-written summary · about
chapters (10)
- 0:00CRUD vs DDD evolution
- 3:55CRUD as database wrappers
- 7:27Logic in aggregates
- 12:04Intent with command pattern
- 15:16Commands with command bus
- 17:46Reads with CQRS
- 20:59Models with events
- 24:57Events as source of truth
- 33:23Complexity vs business needs
- 35:30Q&A
related talks
50mMoving away from CRUD: DDD + CQRS
30mDomain-Driven Design + Command Query Responsibility Segregation + Event Sourcing
01h 01mThe DDD Do-Over: Domain-Driven Design Lessons Learned
02h 31mSlice & Dice your Monolith with Domain Driven Design
38m7 Years of DDD: Tackling Complexity
47mDomain-Driven Design: A Complete Example
46mCQRS, DDD and GraphQL, a perfect fit
59mDomain-Driven Design - Where Rubber Meets the Road
