Domain-Driven Design Basics
-
Upload
mathiasverraes -
Category
Technology
-
view
1.347 -
download
2
description
Transcript of Domain-Driven Design Basics
DDD BasicsFebruary 11, 2014 - Olen, Belgium
wifi: ITR-Events / domaindriven
Kindly hosted by
Community TalksCall for Proposals
domaindriven.be/cfp
Defining DDD (Yves) Ubiquitous Language (Jef)
Bounded Contexts (Mathias) Context Mapping (Stijn)
Modelling (Mathias) Starting/Selling DDD (Tom)
Q&A / Lean Coffee
Bounded Contexts
Large complex systems:
increased cognitive load
Large complex systems:
divergence in mental model
Large complex systems:
subtle nuances in meaning
Avoid a big
unified centralised
model.
Split into Bounded Contexts
Benefits: clarity
model integrity freedom to
evolve separately
Inspired by departments
teams life cycles
business processes …
Make Bounded Context explicit pure
independent consistent within its
boundary
Modelling
Structural modelling
Ontological
Structural modelling
inspired by persistence concerns
Relational Normalised
CRUD Anaemic
Ask your Domain Expert
about State Changes!
Why does it change? When does it change?
How often? Who causes it? By which rules?
What consequences?
!
!
The moving parts are more interesting than the
stable parts
!
!
A Domain Model is about:
state + structure behaviour + change
temporal roles + actors
business rules + invariants causality + correlation
interaction processes
workflows + transitions intention + consequence
failure …
Modelling: Make the implicit explicit
example !
Intentions: Command Objects
Consequences: Domain Events
@mathiasverraes http://verraes.net