Get in Touch

Course Outline

Introduction

  • What is Domain Driven Design (DDD) and what are its benefits?
  • DDD compared to other approaches
  • Overview of DDD concepts and project structure

Tactical Domain-Driven Design

  • Elements of a domain model
  • Implementing entities, value objects, aggregates, repositories, and domain services
  • Using factories, specifications, CQRS, and event sourcing

Strategic Domain-Driven Design

  • Context map patterns
  • Designing the domain model using event storming and domain storytelling
  • Identifying and classifying subdomains
  • Establishing boundaries and relationships using patterns such as bounded contexts

DDD & Legacy Workshop

  • Challenges and opportunities presented by legacy systems
  • Analysing and understanding legacy systems using tools such as NDepend
  • Refactoring and modernising legacy systems using techniques such as the strangler pattern

Product, Domain & Team-Oriented Architecture

  • Benefits and challenges of product-, domain-, and team-oriented architecture
  • Designing and implementing such architectures using patterns like microservices
  • Organising and collaborating across teams
  • Ensuring quality and consistency through automated testing and continuous integration

Data Mesh – Domain-Oriented Data

  • Problems associated with traditional data platforms
  • Introduction to data mesh
  • Implementing a domain-oriented data platform that supports data discovery, access, and governance
  • Technologies such as Apache Kafka, Apache Spark, and GraphQL in data mesh

Summary and Next Steps

Requirements

  • A solid understanding of object-oriented programming and design patterns
  • Experience with C# and .NET Core
  • Basic knowledge of databases and SQL

Audience

  • Developers
  • Architects
  • Analysts
 21 Hours

Number of participants


Price per participant

Testimonials (1)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories