ABP Framework — Domain Driven Design (DDD)

Implement ABP Framework DDD aggregates, DTOs, and CRUD app services.

13|4|Updated May 27, 2026
One-click install
npx skills add https://github.com/burakdmir/abp-skills --skill abp-framework-domain-driven-design-ddd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ABP Framework — Domain Driven Design (DDD)
Source: https://github.com/burakdmir/abp-skills/tree/main/claude/abp-ddd
Command: npx skills add https://github.com/burakdmir/abp-skills --skill abp-framework-domain-driven-design-ddd

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the common confusion in ABP Framework projects about how to structure Domain and Application layers using DDD concepts like Entities, Aggregate Roots, repositories, domain services, and application services.

Core Features & Use Cases

  • DDD building blocks: Learn how to model Entities, Aggregate Roots, Value Objects, Domain Services, and repository interfaces/implementations in ABP.
  • Application layer patterns: Design DTOs, configure Mapperly mappings, and implement Application Services (including CRUD via base classes).
  • Operational ABP concerns: Apply authorization policies, validation, specifications, eager loading, unit of work conventions, and auditing (FullAuditedAggregateRoot).
  • Real-world use case: When building an ABP module for ordering or catalog management, use Aggregate Roots to enforce invariants, DTOs to keep presentation isolated, and CRUD app services to reduce boilerplate.

Quick Start

Ask the AI: "Show me how to implement ABP DDD for an Order aggregate (AggregateRoot, Entities, DTOs, Mapperly, and an ICrudAppService) following the ABP v10.4 patterns."

Frequently Asked Questions about ABP Framework — Domain Driven Design (DDD)

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

FAQPage Schema
How do I design an ABP aggregate root with entities and repositories?

You design an ABP aggregate root by modeling it to enforce invariants and defining repository interfaces for data access. Following ABP v10.4 conventions ensures correct boundaries for entities and sequential GUID generation.

What's the best way to implement CRUD application services and DTOs in ABP Framework?

The best way to implement CRUD application services in ABP is to use base classes like ICrudAppService and isolate presentation with DTOs. This reduces boilerplate while keeping your domain layer isolated from application concerns.

How does Mapperly handle object mapping for ABP DTOs?

Mapperly handles object mapping by configuring source-generated mappings between ABP DTOs and entities. This approach eliminates manual mapping boilerplate and ensures type-safe conversions within your ABP application services.

When do I need Unit of Work and FullAuditedAggregateRoot in ABP?

You need Unit of Work for UOW-enabled service execution and FullAuditedAggregateRoot when automatic auditing is required. These ABP operational concerns ensure transactional integrity and track entity modifications automatically.

Does ABP DDD guidance support authorization policies and validation in application services?

Yes, ABP DDD guidance supports applying authorization policies and validation within application services. You configure these operational concerns directly in the application layer to secure and validate CRUD operations.