Domain Driven Design

This course provides a foundational understanding of Domain Driven Design (DDD), guiding trainees on applying DDD to build complex enterprise systems. The course covers both Strategic (e.g., Bounded Contexts) and Tactical tools (e.g., Aggregates), with a focus on real-world examples, architecture types, and code samples to aid comprehension.

  • duration 24 hours
  • Language English
  • format Online
duration
24 hours
location
Online
Language
English
Code
ARC-003
price
€ 650 *

Available sessions

To be determined



Training for 7-8 or more people?
Customize trainings for your specific needs

Description

The DDD course focuses on applying DDD principles to develop enterprise systems, covering both Strategic (e.g., Bounded Contexts, Event Storming) and Tactical (e.g., Aggregates, Value Objects) DDD tools. It includes an in-depth analysis of DDD-compatible software architectures, such as Hexagonal, CQRS, and Microservices. Through real-world examples and practical assignments, trainees build their theoretical knowledge and modeling skills, with an emphasis on strategic thinking and tactical modeling within bounded contexts.

 

This course explores the foundational concepts of Domain Driven Design (DDD) and related topics, including Object-Oriented Programming (OOP) and Design (OOD) principles. Participants learn how DDD aids in the development of enterprise systems, covering both strategic tools like Bounded Contexts and tactical tools such as Aggregates. The course includes practical assignments and examples to strengthen theoretical knowledge and modeling skills, with a final emphasis on real-world application.

 

Upon completion, participants will be able to:

  • Understand how DDD principles support the development of scalable enterprise systems.
  • Apply strategic DDD practices, including Bounded Contexts and Context Mapping, to design modular systems.
  • Use tactical DDD skills to design Aggregates, Value Objects, and other core elements within a bounded context.
  • Recognize the role of Domain Events and manage integration between contexts.
  • Evaluate DDD-compatible architectures, such as Hexagonal, CQRS, and Microservices, for different scenarios.

 

This course comprises approximately 60% theory and 40% practical work, allowing participants to implement DDD techniques through exercises and case studies, with an emphasis on collaborative learning in a team environment.

After completing the course, a certificate is issued on the Luxoft Training form

Objectives

Upon completion, participants will:

  • Understand how DDD facilitates enterprise system development.
  • Apply strategic thinking in DDD for building scalable enterprise systems.
  • Utilize tactical modeling skills within a Bounded Context.
  • Design effective Aggregates and understand the role of Domain Events for integrating contexts.

Target Audience

Software developers (from Junior to Senior) who have good understanding of OOP, OOD principles and basic knowledge of software architecture patterns.

Prerequisites

  • Object Oriented Programming (OOP) Principles
  • Object Oriented Design (OOD) Principles
  • Software Design Patterns (GoF)
  • Software Architecture Patterns

Roadmap

1. DDD Overview & Ubiquitous Language (Theory: 1h)

2. DDD Prerequisites (Theory: 1h): OOP, OOD principles; Architectural Business Logic Patterns

3. DDD Strategic Design (Theory: 1h, Practice: 3h05m)

• Domains, Subdomains, Bounded Contexts, Context Maps, Event Storming

• Practice Sessions: Strategic Design - Event Storming (1h35m); Mapping Bounded Contexts (1h30m)

4. DDD Architectural View (Theory: 1h20m, Practice: 1h30m)

• Legacy Systems, Layered and Hexagonal Architecture, REST, CQRS, Event Sourcing, Microservices

5. DDD Tactical Design - Part 1 (Theory: 1h30m): Entities, Value Objects, Aggregates, Factories

6. DDD Tactical Design - Part 2 (Theory: 1h20m): Services, Domain Events, Modules, Repositories

• Practice Sessions: Tactical Design (6h30m in 3 sessions - 1h30m, 1h45m, 3h15m)

7. Testing in DDD (Theory: 40m): Test Pyramid, Consumer-Driven Contract Testing



Related courses

You may also be interested in

Discover more about professional growth and skills development

contact us