A deep dive into the technical building blocks of your domain model… We’ll cover Domain-Driven Design patterns like entities, value objects, repositories and domain events. Besides the basics, we’ll cover in detail different guidelines for modelling your aggregates.
All of this is called ‘tactical DDD’ and it might just turn out to be about the fundamentals of object-oriented programming too! This workshop will lead you straight to the core of programming and ways in which you can improve your applications in general.
9. ENTITIES
Checklist
Does the object need to be retrieved from a repository by its
unique identity?
Does the object need to track changes?
Are two instances equivalent if they have the same identity?
11. VALUE OBJECTS
Checklist
Is it irrelevant which exact instance of the object is used?
Can the object be replaced, instead of modified?
Are two objects of the same type equal if their properties
contain equal values?
16. AGGREGATES
Implementation
Root entity with unique identity
Favor value object parts
Use Law of Demeter and Tell, Don't Ask
Optimistic concurrency
Avoid dependency injection and references to static services