domain-driven-design

Installation
SKILL.md

Domain-Driven Design

Aggregate Rules

  • One repository per aggregate root
  • External code only accesses aggregate through root — never child entities directly
  • Aggregates reference other aggregates by ID only, not direct object reference
  • Keep aggregates small — if it has more than 3-4 child entities, split it
// ✅ Aggregate root controls all access to children
order.addItem(productId, quantity); // through root
order.removeItem(itemId);           // through root

// ❌ Direct child access from outside
order.getItems().add(new OrderItem(...)); // bypasses invariants

Value Objects

Installs
85
GitHub Stars
271
First Seen
Apr 30, 2026
domain-driven-design — rrezartprebreza/spring-boot-skills