A model is a selectively simplified and consciously structured form of knowledge.
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
A model is a simplification. It is an interpretation of reality that abstracts the aspects relevant only to solving the problem at hand.
All models are wrong but some are useful
Aggregate / Aggregate Root
the shared language
coined by the team
in context of...
DDD is an approach that even helps you determine when you don’t need itThe DDD paradox by Emilien Pecoul
If programmers are not interested in the domain, they learn only what the system should do, not the principles behind it.Eric Evans
Software development is a learning process, working code is a side effect
Domain-Driven Design: Tackling Complexity in the Heart of SoftwareEric Evans
Implementing Domain-Driven DesignVaughn Vernon
Patterns of Enterprise Application ArchitectureMartin Fowler
Enterprise Integration PatternsGregor Hohpe
Eric Evans @ericevans0
Vaughn Vernon @VaughnVernon
Greg Young @gregyoung
Udi Dahan @UdiDahan
Alberto Brandolini @ziobrando
Mathias Verraes @mathiasverraes