dotnet-ddd

Implement DDD tactical patterns in C#/.NET domain models.

1|Updated Feb 12, 2026
One-click install
npx skills add https://github.com/baotoq/agent-skills --skill dotnet-ddd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-ddd
Source: https://github.com/baotoq/agent-skills/tree/main/skills/dotnet-ddd
Command: npx skills add https://github.com/baotoq/agent-skills --skill dotnet-ddd

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides the foundational patterns and code examples for implementing Domain-Driven Design (DDD) tactical patterns in C#/.NET, enabling developers to build complex, maintainable, and well-structured domain models.

Core Features & Use Cases

  • Domain Modeling: Implement core DDD building blocks like Entities, Value Objects, Aggregates, and Domain Events.
  • Code Structure: Provides base classes and examples for common patterns such as Strongly-Typed IDs, the Result pattern, and Repository interfaces.
  • Use Case: When designing a new feature for an e-commerce platform that requires complex business logic around order processing, use this Skill to define the Order aggregate, Money value object, and OrderCreatedEvent.

Quick Start

Implement a new Entity using the provided Entity<TId> base class.

Frequently Asked Questions about dotnet-ddd

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement Domain-Driven Design tactical patterns in C#?

Domain-Driven Design tactical patterns in C# are implemented using base classes for Entities, Value Objects, Aggregates, and Domain Events to structure complex business logic and ensure clear domain boundaries.

What is the best way to structure a complex domain model in .NET?

Structuring a complex .NET domain model is best achieved by defining Aggregates, using Strongly-Typed IDs, and applying the Result and Specification patterns to encapsulate business rules and maintain clear boundaries.

How do I create an Entity with a strongly-typed ID in .NET?

To create an Entity with a strongly-typed ID in .NET, inherit from the provided Entity<TId> base class, which establishes core domain identity and supports foundational aggregate root boundaries.

When do I need to use the Result pattern and Domain Events in C#?

You need the Result pattern and Domain Events in C# when handling complex order processing workflows, allowing you to return explicit operation outcomes and dispatch notifications like OrderCreatedEvent.

Can I use this DDD tactical pattern approach for an e-commerce platform in .NET?

Yes, you can use this DDD tactical pattern approach for an e-commerce platform in .NET to define complex business logic around order processing, such as modeling the Order aggregate and Money value object.

Why use Aggregates and Value Objects for .NET domain modeling?

Aggregates and Value Objects are used for .NET domain modeling to encapsulate related domain logic, ensure transactional consistency boundaries, and represent domain concepts like Money without identity.