Get in Touch

Course Outline

Introduction

  • Understanding Domain-Driven Design (DDD) and its benefits.
  • Comparing DDD with other development approaches.
  • Overview of DDD concepts and project structure.

Tactical Domain-Driven Design

  • Key elements of a domain model.
  • Implementing entities, value objects, aggregates, repositories, and domain services.
  • Utilizing factories, specifications, CQRS, and event sourcing.

Strategic Domain-Driven Design

  • Understanding context map patterns.
  • Designing domain models through event storming and domain storytelling.
  • Identifying and classifying subdomains.
  • Establishing boundaries and relationships using patterns like bounded contexts.

DDD & Legacy Systems Workshop

  • Challenges and opportunities associated with legacy systems.
  • Analyzing and understanding legacy codebases using tools like NDepend.
  • Refactoring and modernizing legacy systems using techniques such as the strangler pattern.

Product, Domain & Team-Oriented Architecture

  • Benefits and challenges of product, domain, and team-oriented architectures.
  • Designing and implementing these architectures using patterns like microservices.
  • Strategies for team organization and collaboration.
  • Maintaining quality and consistency through automated testing and continuous integration.

Data Mesh – Domain-Oriented Data

  • Limitations of traditional data platforms.
  • Introduction to the data mesh paradigm.
  • Implementing a domain-oriented data platform to support data discovery, access, and governance.
  • Leveraging technologies such as Apache Kafka, Apache Spark, and GraphQL within data mesh.

Summary and Next Steps

Requirements

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

Target Audience

  • Developers
  • Architects
  • Analysts
 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories