DDD Modelling vs Implementation

Understanding how and when to use design patterns
Mathias Verraes

DDD Modelling vs Implementation

No dates are scheduled for this workshop. Let us know if you think we should organize it near you, or if you'd like to book it on premise in your organisation.


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 hot new 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 class 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 (usually procedural) 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.

Testimonials

I was particularly impressed by Mathias Verraes. He gave a hands-on, in-depth workshop about Domain-Driven Design (DDD). Mathias focused on the underlying principles and heuristics for building great domain-centric object-oriented code.

Full testimonial

Really good content from talking about general DDD concepts to some practical modelling and some more advanced concepts. This workshop has refreshed my understanding of DDD and I will be able to apply that better in my work.

– Anonymous post-workshop feedback

Mathias Verraes

About Mathias Verraes

Mathias Verraes is the founder of Aardling, a software modelling & design consultancy, with a penchant for complex environments. Mathias’ focus is on design strategy and messaging-centric domain modelling. He has worked with clients in Finance, Government, Supply Chain, Mobility, Energy, E-Commerce, and more. He blogs about software design at verraes.net. Occasionally, he teaches public courses on Domain-Driven Design & messaging. Mathias is also the founder of the DDD Europe conference. Mathias has a Masters in Music from the Royal Conservatory of Ghent, and is an autodidact on software. When he’s at home in Kortrijk, Belgium, he helps his two sons build crazy Lego contraptions.

All workshops by Mathias Verraes
@mathiasverraes

No dates are scheduled for this workshop. Let us know if you think we should organize it near you, or if you'd like to book it on premise in your organisation.


Also check out