Reactive DDD: Modeling Uncertainty
summary
Argues that DDD’s bounded contexts and ubiquitous language remain essential but that distributed, asynchronous systems force uncertainty into the domain so it must be modeled there. Demonstrates Java code: an event-sourced Proposal aggregate with typed IDs, Progress states, and domain events for pricing/scheduling; shows deduplication and reordering handled by business identity rather than infrastructure. Uses Reactor/reactive streams, Kafka-style topics, actor ideas and a process manager/state machine for long-running activities; the examples compile the business logic and prove simpler, more explicit behavior.
AI-written summary · about
chapters (8)
- 0:00Introduction to Reactive DDD
- 1:17Bounded Contexts in Modern DDD
- 8:49Tactical DDD Modeling Tips
- 16:55Reactive Systems and Uncertainty
- 27:04Dealing with Distributed Computing Uncertainty
- 41:14Modeling Uncertainty in Business Logic
- 51:32Peer-to-Peer Business Model Example
- 1:00:54Code Walkthrough and Conclusion
related talks
45mActors Can Rule Your DDD World
54mReacting to an Event-Driven World
44mReacting to the future of application architecture
01h 42mWhat is a Reactive Application?
41mThe Promise of Event Driven Programming with Fast Data
27mFour Principles of Reactive Architectures
17mKeynote: Is it Reactive or Eventful? Aren't they the Same?
54mHow Events Are Reshaping Modern Systems
