A model is a selectively simplified and consciously structured form of knowledge.
Eric Evans
No identity
Values comparable
Immutable
Domain object with unique identity.
Usually have mutable state.
Set of composed domain objects defining single consistency unit.
Root of the objects hierarchy is an aggregate root. Usually it is used as conceptual name of an aggregate.
the model is not the diagram
Eric Evans
A model is a simplification. It is an interpretation of reality that abstracts the aspects relevant only to solving the problem at hand.
Eric Evans
All models are wrong but some are useful
George Box
Value object
Entity
Aggregate / Aggregate Root
Domain Event
Repository
...
Bounded contexts
Context maps
Subdomains
...
If programmers are not interested in the domain, they learn only what the system should do, not the principles behind it.Eric Evans
the shared language
strict
coined by the team
in context of...
conceptual boundary
semantic boundary
Core domain
Supporting subdomain
Generic domain
Model Exploration Whirpool
Context Mapping
Event Storming
DDD is an approach that even helps you determine when you don’t need itThe DDD paradox by Emilien Pecoul
Software development is a learning process, working code is a side effect
Alberto Brandolini
Domain-Driven Design: Tackling Complexity in the Heart of Software
Eric EvansImplementing Domain-Driven Design
Vaughn VernonPatterns of Enterprise Application Architecture
Martin FowlerEnterprise Integration Patterns
Gregor HohpeEric Evans @ericevans0
Vaughn Vernon @VaughnVernon
Greg Young @gregyoung
Udi Dahan @UdiDahan
Alberto Brandolini @ziobrando
Mathias Verraes @mathiasverraes
Available at:
https://talks.praglowski.com/ddd-distiled-quickly