domain-driven-design
Installation
SKILL.md
Domain-Driven Design (DDD)
DDD is a software design approach focusing on modeling software to match a domain according to input from that domain's experts. It is essential for tackling high complexity in the heart of software.
When to Use
- Complex business domains (e.g., Insurance, Banking, Logistics) where logic is intricate.
- When there is a communication gap between developers and business experts.
- decomposing a Monolith into Microservices (defining boundaries).
Quick Start
// Aggregate Root
public class Order {
private OrderId id;
private Money totalAmount;
private OrderStatus status;
private List<OrderItem> items; // Aggregates items