Domain-driven Design in Practice

Training iSAQB® CPSA®-Advanced DDD

2025-02-10 - 2025-02-12

Technology
Methodology 20
Communication 10

DDD (Online) - Matthias Eschhold - German - date complete

Dates by Request

Use domain-driven design to clearly structure complex systems and continuously solve business challenges through direct collaboration with domain experts. Understand how to cut bounded contexts with different modeling approaches to create a sustainable basis for evolutionary architectures.

In this training you will learn everything you need to know to get started with domain-driven design. You will learn about collaborative modeling, align the business and software architecture with the strategic design, create highly specific domain models with the aid of tactical design patterns, and arrange teams and architecture with the help of the context map.

Day 1 Get an overview and discover the history behind domain-driven design. You will also learn a little about concepts such as ubiquitous language and the motivation for close cooperation between domain experts and software developers. In the afternoon an event-storming session considers the big picture by means of a case study.

Day 2 The second day is dedicated to strategic domain-driven design. You will learn to differentiate between the problem space and the solution space. We will separate the problem domains of our case study into sub-domains and categorize these as core, support, or generic domains. We then dive into the solution space by identifying the correct bounded contexts, ideas, and elements of the bounded context design canvas. You will not only learn all the essentials of the problem domains, sub-domains, and bounded contexts, but also apply these ideas in practice by means of many exercises.

Day 3 We use the first part of the day to implement the ideas and designs of the tactical domain-driven design in practice. We undertake a design-level event storming for one of the bounded contexts that we identified on the second day. This allows us to identify candidates for aggregates, services and policies. We will then look for suitable candidates for entities and value objects.

In the afternoon we turn to the socio-technical aspects of domain-driven design. You will learn about the orientation of teams, bounded contexts and governance. We will mostly deal with the context-mapping designs in the literature on domain-driven design, but you will also get a brief overview of alternatives such as team topologies.

Sketchnote graphic explaining the content of our training course iSAQB® CPSA-A® DDD.

Your Trainers

Matthias Eschhold

Matthias Eschhold

Architecture, Domain-driven Design

  • Evolutionary architectural patterns with Clean and Hexagonal Architecture

Matthias is the lead architect for e-mobility at EnBW AG. With his experience in software architecture and domain-driven design, he and his team are shaping the IT landscape and team topology of e-mobility. Despite his focus on strategic and socio-technical architecture, Matthias still feels at home with Java and Spring Boot at the code level, implementing prototypes and performing refactorings. Matthias has been sharing his passion for architecture as a trainer for many years. His strength lies in hands-on trainings that not only teach architectural patterns and principles, but also take into account the realities of projects. He is always looking for ways to make software architecture suitable for everyday use.

All info about training