Trainings

Domain-Driven Design

Learn Domain-Driven Design approach for Information System architecture and software design.

The objective of Domain-Driven Design (DDD) is to create better software more easily by focusing on the business domain rather than technology.

Software is well-suited to its domain when it effectively addresses domain-related problems.

DDD is an approach and a set of design techniques to manage domain complexity and align the software with the business concepts it handles.

This training teaches you the fundamentals of DDD and its practical implementation in your software.

Goals
Master the Domain-Driven Design approach: why, what benefits, which key principles.
Study and implement the DDD building blocks.
Study and implement design principles: supple design and strategic design.
Explore architectures that support a DDD approach.
Discuss practical, concrete aspects of DDD through experience sharing.
Program
Day 1 — Introduction and fundamentals. Origins, definitions and benefits of DDD; what design activity is. Before designing: define the product vision (feature injection, impact mapping, user story mapping, mental models), then explore the domain and specify system behaviour (event storming, BDD examples, business rules expressed in scenarios). Fundamentals of modeling and complexity management.
Day 2 — DDD building blocks. Ubiquitous language. Value objects, entities, aggregates, repositories, factories, services, modules. Practical exercises.
Day 3 — Supple design, architectures and strategic design. Dependency and state management, separation of responsibilities, encapsulation, functional paradigm. Hexagonal architecture, event-driven architecture (CQRS, event sourcing), microservices, persistence with DDD. Bounded contexts, context maps, relationships between systems and teams.
The training uses an e-commerce system as a common thread for practical cases; participants can also bring cases from their own domain. Code structure and solutions are provided in Java, and another platform (.Net, Ruby, Python, Clojure, etc.) is possible.
Audience & prerequisites
Audience: architects, developers (junior or senior), team leaders, project managers.
Prerequisites: knowledge of object-oriented programming (Java, C#, Python, etc.) and experience in software development.
50% theory, 50% practice; exercises can be adapted to your context. PDF slides (in English) are distributed at the end of the training, along with a completion certificate.
Practical information
Inter-company sessions: €1,790 per participant, on the dates listed on this page. In-house sessions: scheduling determined with you, price upon quotation.
All sessions are also available online. On-site, Defsquare offers breakfast and lunch on each training day.
Accessibility: if you have a disability, contact us at [email protected] so we can adapt the training.
Duration
3 days / 21 hours in total.
Dates
Oct 6–8, 2026
Paris · On-site
Nov 24–26, 2026
Remote
Register Brochure (PDF)
Logo Qualiopi — processus certifié, République française
La certification qualité a été délivrée au titre de la catégorie d’actions suivante : actions de formation. For any request, difficulty or complaint: [email protected]