Develop applications that embody the business and its constraints with Domain-Driven Design (DDD).

Domain-Driven Design is based on a simple idea: to create a good application, it is essential that its code reflects not only the business and its constraints but also the world around it. DDD provides a range of tools and patterns to constantly align business experts, developers, and code to ensure that the application effectively meets its objectives.

Throughout this training, you will discover the tools and patterns at your disposal to create and maintain this delicate alignment.


  • Master the key concepts and principles of Domain-Driven Design.
  • Implement the design principles of DDD and know how to apply the patterns.
  • Use a common language with all project stakeholders.
  • Gain practical experience in implementing the DDD approach.

Topics Covered


  • Domain-Driven Design, what are we talking about?
  • The complexities in a project

Key Concepts

  • Why model the business problem?
  • How to model the business problem?

    • Ubiquitous Language
    • Bounded Context
    • Context Map
    • Aggregate, Entities and Value Object
    • Messages (Command, Domain Event and Query)
    • Domain Service and Application Service

Case study

  • Collaborative Modeling

    • Experience an EventStorming
    • Classify with Core Domain Chart
    • Document with Bounded Context Canvas
  • Technical Implementations

    • Exploitation of EventStorming
    • Creation of the first Aggregates, Entities, and Value Objects
    • Publishing a Domain Event
    • Reaction to a Domain Event
    • Save the new state through Repositories
    • Discussions for co-constructing the code

Conclusion and Recap

  • Relation with Microservices
  • Recall of Key Concepts


This training can be organized for members of your organization.

Contact us

Training duration

The training time is 14 hours over 2 days, either remotely or at your office.

Target audience

  • Architect
  • Developer
  • Lead Developer
  • Tech lead


  • Experience in application development
  • Knowledge of object-oriented programming
  • Experience in application architecture is a plus.
3 Lights Technology

IBC, Pobřežní 620/3

186 00, Prague

Czech Republic

© 2024 3 Lights Technology 1.21.0