ddd-tactical-designlisted
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