Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Become a Domain Driven Design Expert in .NET
Rating: 3.6 out of 5(19 ratings)
178 students

Become a Domain Driven Design Expert in .NET

Build DDD Applications in .NET with CQRS, MediatR, Domain Events, Integration Events, Event Bus, and Rich Domain Models
Created byCharles Nnaji
Last updated 5/2026
English
English [Auto],

What you'll learn

  • Understanding the Domain Driven Design Architecture
  • Thinking like a Domain Expert in DDD
  • Building Rich Domain Models
  • Event communications (Domain and Integration Events)
  • Microservices
  • Command Query Responsibility Segregation (CQRS)
  • Identifying boundaries and defining entities, aggregates and value objects
  • Build Restful API's with the Domain Driven Design Architectures
  • The Query Specification Pattern
  • SOLID Principles
  • Software Design Patterns

Course content

15 sections55 lectures12h 25m total length
  • Prerequisites2:26

    The tools needed to develop the DDD applications

  • Introduction3:50

    Explore software architecture foundations from monolithic and n-layer to clean architecture, and introduce domain-driven design with rich domain models, aggregates, and value objects. Assess scalability, modularity, and flexibility in systems.

Requirements

  • .Net core
  • C#
  • Entity Framework

Description

In this course, you'll gain a deep understanding of the technical aspects of Domain-Driven Design (DDD), learning how to build a DDD project from the ground up while exploring its core architectural concepts, including:

  • Layering in DDD: Designing and implementing the Domain, Infrastructure, and Application Layers.

  • Domain Models: Identifying and crafting domain models, including value objects, aggregates, and aggregate roots.

  • Domain Events: Leveraging the MediatR library to publish and handle domain events.

  • CQRS: Separating read and write operations to optimize your system's architecture.

  • MediatR: Integrating MediatR for effective communication within your application.

  • The Query Specification Pattern: Applying this pattern for precise and efficient querying.

  • SOLID Principles: Adhering to SOLID principles for maintainable and scalable code.

  • Advanced Repository and Unit of Work Patterns: Enhancing data management with improved repository and unit of work patterns.

  • Software Design Patterns: Utilizing essential design patterns to solve common software engineering challenges.

Microservices and DDD

You’ll also learn how DDD naturally complements Microservices architecture. We’ll cover:

  • Building independently deployable services based on aggregates and domain boundaries

  • Implementing communication between services using patterns like integration events and asynchronous messaging (e.g., RabbitMQ)

  • Ensuring resilience and eventual consistency in distributed systems

  • Applying strategic DDD patterns like context mapping to manage service relationships

This gives you a complete picture of how to evolve from a well-structured monolith to a scalable microservice system grounded in domain logic.

Whether you're new to DDD, seeking a hands-on, in-depth exploration of how it works, or aspiring to advance to a senior developer role, this course is designed for you. We'll also delve into various architectural styles that have shaped software development over the years, including:

  • Monolithic Architecture

  • Modular Monolith

  • N-Layer Architecture

  • Clean Architecture

  • Microservice Architecture

Throughout the course, you'll be assigned practical tasks to apply what you've learned. I'm available to answer any questions you may have along the way.

Additionally, I’ve included a link in the course where you can download the source code from GitHub, clone the repository, and explore it on your own.

I hope this course helps you excel in DDD, microservices, and modern architectural approaches, and I look forward to hearing your feedback.

Who this course is for:

  • Developers who are curious about the Domain Driven Design architecture
  • Developers who wants to understands how Domain Driven Design works
  • Developers who are lovers of architectures
  • Developers who already know Clean Architecture and want to further their knowledge
  • Developers who want to move to senior development role
  • Developers who want to explore the microservices architecture