Implementing Domain Driven Design

When developing software, we sometimes tend to play down problems to create simple solutions. In practice, things over time turn out not to be as simple as assumed. The domain is usually way more complicated than anticipated. Security constraints tend to impact on the design, etc.

Domain-driven design (DDD) is an approach to software development for complex needs by connecting the architecture and implementation to an evolving model of the problem domain. It can be applied as an agile approach to software development whilst recognising complexity. Mastering DDD and working from your domain will help you develop higher quality software products that will be better maintainable in the long run.

While the Introduction to Domain Driven Design course focuses on the modelling concepts of DDD, this workshop focuses on how DDD guides architecture decisions and how to refine a domain model to working code.


Learn a number of implementation patterns of Domain Driven Design; learn how to derive an implementation from a domain model.


After a quick recap of the main Domain Driven Design concepts, we introduce the running case for the workshop; we start from an existing domain model (an event storming result) and through a number of hands-on programming exercises, we will implement a small part of the domain model.

Audience & prerequisites

Software developers, architects; this workshop is suitable both for more junior developers who want to grow and for more senior developers who’d like to sharpen their skills. Programming experience is required for this workshop.

The Introduction to Domain Driven Design course or equivalent knowledge is required.

Practical information

  • Duration: 1 day
  • This training is available as in-house training only.