What problem does it solve?
This Skill guides you in building robust domain layers for ABP Framework applications, adhering to Domain-Driven Design (DDD) principles. It addresses challenges in entity design, repository implementation, and domain service creation, ensuring your business logic is encapsulated, testable, and maintainable.
Core Features & Use Cases
- Entity Base Classes: Provides guidance on selecting the correct ABP base classes (
FullAuditedAggregateRoot, IMultiTenant, ISoftDelete) for entities, ensuring proper auditing and tenancy.
- Repository Pattern: Demonstrates how to use generic and custom repositories for efficient and clean data access, separating data concerns from business logic.
- Domain Services: Explains when and how to create domain services for business logic involving multiple entities or external domain concepts, keeping entities focused on their own state.
- Use Case: A backend developer is tasked with creating a new 'Patient' entity and its associated business rules. Using this skill, they design the
Patient aggregate root, implement a custom IPatientRepository, and create an AppointmentManager domain service for complex scheduling logic.
Quick Start
Create a new ABP entity named 'Product' that inherits from FullAuditedAggregateRoot<Guid> and includes properties for Name and Price.