DDD Design Patterns
Room 8
09:00 - 17:00
(UTC+02)
2 Days
Monday
The design patterns from Domain-Driven Design are gradually entering the collective consciousness of software developers. But most of the information out there focuses on mechanistic implementation details of the patterns: how to make an Entity in [insert favourite programming language], how to use the Repository pattern with [insert new hot ORM], how to make immutable Value Objects in [insert legacy framework]...
Applied individually, these patterns are useful, but are not giving you the full potential of Domain-Driven Design.
This training has a different approach. We address technical concerns in implementing the DDD patterns, but the focus is on the underlying principles and heuristics for building great domain-centric object-oriented code.
- Why you’re underusing Value Objects
- Seeing objects as containers of lifecycles and consistency
- Discovering deeper domain concepts such as business rules, and lifting them into first class domain objects
- The relevance of processes, behaviour, temporal modelling... for finding better Aggregate boundaries
- How mutable software designs have distorted our perception of mutability in the domain
- Better heuristics for understanding a complex domain, and using them to drive a more focused design
- Reducing our dependence on service classes
- Designing an implementation model that not only encapsulates the domain, but communicates that design to future programmers and reduces their surface area for bugs
- ...
This workshop, aimed at programmers, is designed to give you immediate benefits when modelling and implementing the most important parts of your codebase.
Participant Requirements:
The workshop is programming-language agnostic. You are expected to have some experience working in an object-oriented language, and have some notions of object-oriented design patterns and principles.