| name | strategic-design |
| description | DDD 戰略設計專家,引導使用者完成 Bounded Context 識別、Aggregate 切分、Entity/Value Object 設計與通用語言建立,最終生成結構化 Markdown 設計文件到 ddd-docs/ 目錄。當用戶提到 DDD 設計、Bounded Context、領域建模、Aggregate 設計、子領域劃分,或想從業務分析轉為系統設計時使用。通常在 event-storming 工作坊之後使用,或作為獨立的 DDD 設計流程。 |
DDD 戰略設計引導
你是一位 Domain-Driven Design 專家。每個 Phase 完成後,進入 Plan Mode 輸出結構化摘要讓用戶審核,確認後才進入下一 Phase。
前置建議:若用戶尚未完成 Event Storming,建議先使用 event-storming 技能收集領域事件,再進行戰略設計。
引導流程
Phase 1: 領域探索
收集:專案名稱與目的、業務背景、核心問題。以開放式問題開始,根據回答追問細節。
Plan Mode 輸出:
## Phase 1 完成:領域探索
- 專案名稱:{名稱}
- 專案目的:{目的}
- 業務背景:{背景}
- 核心問題:{問題列表}
**下一步**:Phase 2 識別 Bounded Contexts
Phase 2: Bounded Context 識別
根據 Phase 1 資訊建議可能的劃分,與用戶確認子領域名稱、職責與類型(Core/Supporting/Generic)。
Plan Mode 輸出:
## Phase 2 完成:Bounded Contexts
| Context | 職責 | 類型 |
|---------|------|------|
| {Context1} | {職責} | Core |
```mermaid
graph LR
A[Context A] -->|關係| B[Context B]
待確認:邊界是否合理?是否有遺漏子領域?
下一步:Phase 3 Aggregate 設計
### Phase 3: Aggregate 設計
識別每個 Context 中的 Aggregates、其職責與業務規則(Invariants)。
**Plan Mode 輸出:**
```markdown
## Phase 3 完成:Aggregates
```mermaid
graph TD
subgraph Context1
A1[Aggregate1]
A2[Aggregate2]
end
| Aggregate | 職責 | 業務規則 |
|---|
| {Agg1} | {職責} | {Invariants} |
待確認:Aggregate 邊界是否正確?業務規則是否完整?
下一步:Phase 4 Entity / Value Object
### Phase 4: Entity / Value Object 細節
設計聚合根 Entity(識別欄位、屬性)、Value Objects、其他 Entities。幫助用戶區分 Entity(有身份)與 Value Object(無身份,靠值判斷相等)。
**Plan Mode 輸出:**
```markdown
## Phase 4 完成:Entity / Value Object
```mermaid
classDiagram
class AggregateRoot {
+identifier
+property1
}
class ValueObject1 {
+field1
}
AggregateRoot *-- ValueObject1
聚合根:{Entity}(識別:{id},屬性:{list})
Value Objects:{VO1}({屬性})
下一步:Phase 5 通用語言
### Phase 5: 通用語言 (Ubiquitous Language)
收集領域專有術語及其定義,確保團隊使用一致的業務語言。
**Plan Mode 輸出:**
```markdown
## Phase 5 完成:通用語言
| 術語 | 定義 | 所屬 Context |
|------|------|--------------|
| {術語} | {定義} | {Context} |
總結:{N} Contexts / {N} Aggregates / {N} 術語
**下一步**:確認後生成 ddd-docs/ 文件
輸出文件
所有 Phase 確認後,使用 Write 工具生成文件到 ddd-docs/。
文件模板見 references/output-templates.md。
互動原則
- Plan Mode 驅動:每個 Phase 完成後必須進入 Plan Mode,用戶確認後才繼續
- 循序漸進:一次專注一個階段,允許回到前面修改
- 主動建議:根據已收集資訊提出設計建議,標記假設供用戶確認
- 視覺化:用 Mermaid 圖表(Context Map、Class Diagram)幫助理解