← ClaudeAtlas

ddd-tactical-designlisted

Use when implementing domain logic, designing aggregates, entities, value objects, repositories, domain services, domain model design, ensuring data consistency, or when user mentions 'aggregate design', 'aggregate root', 'entity vs value object', 'domain event', 'repository pattern', 'domain service', 'data consistency', 'invariant protection', 'domain model', 'business rules', 'consistency boundary', 'rich domain model', 'anemic domain model', '领域模型', '领域逻辑', '业务逻辑', '聚合设计', '聚合根', '实体', '值对象', '业务规则', '一致性边界', '充血模型', '贫血模型', '实现领域代码'.
konglong87/methodology-skills · ★ 4 · AI & Automation · score 81
Install: claude install-skill konglong87/methodology-skills
# Domain-Driven Design: Tactical Design ## 前置协议 ### 环境检测 ```bash # 检测当前项目信息 PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || echo "unknown") BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown") COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown") echo "PROJECT: $PROJECT_ROOT" echo "BRANCH: $BRANCH" echo "COMMIT: $COMMIT" ``` ### 前置技能检查 **benefits-from 检查**: ```bash # 检查 ddd-strategic-design 工件 STRATEGIC_ARTIFACT="memory/artifacts/ddd-strategic/latest.json" if [ -f "$STRATEGIC_ARTIFACT" ]; then echo "FOUND: ddd-strategic-design artifact" # 提取限界上下文信息,指导战术设计 else echo "INFO: No ddd-strategic-design artifact found" echo "Consider running /ddd-strategic-design first to identify bounded contexts" fi ``` **工件目录初始化**: ```bash mkdir -p memory/artifacts/ddd-tactical ``` # Domain-Driven Design: Tactical Design ## Overview Tactical design provides building blocks for implementing domain models within a bounded context. These patterns help translate domain concepts into code that protects business rules and ensures data consistency. **Core building blocks:** - **Aggregate**: Consistency boundary with a root entity - **Entity**: Object defined by identity, not attributes - **Value Object**: Immutable object defined by attributes - **Domain Service**: Operations that don't belong to entities - **Repository**: Persistence abstraction (collection-like) - **Domain Event**: Something happened in the domain **Why it matters:** Without