架構決策記錄 (ADRs)
Architecture Decision Records for AppFuse Server
本目錄記錄 AppFuse Server 框架的重要架構決策。每個 ADR 記錄一個特定的架構決策,包括背景、考量的方案、決策理由、權衡分析和影響。
📚 ADR 索引
| 編號 | 標題 | 狀態 | 決策日期 | 主題 |
|---|---|---|---|---|
| ADR-000 | ADR 模板 | 模板 | - | 參考模板 |
| ADR-001 | 多租戶數據隔離策略 | ✅ 已接受 | 2025-12-23 | 多租戶、數據隔離 |
| ADR-002 | JSON 欄位處理策略 | ✅ 已接受 | 2025-12-22 | JSON、資料庫 |
| ADR-003 | Entity 關聯設計策略 | ✅ 已接受 | 2025-12-23 | Entity、關聯設計 |
| ADR-004 | guides 文檔架構 | ✅ 已接受 | 2026-02-01 | 文檔結構 |
🔍 按主題檢索
多租戶 (Multi-Tenancy)
資料層設計 (Data Layer)
Entity 設計 (Entity Design)
文檔結構 (Documentation)
📖 如何閱讀 ADR
對於新成員
-
了解核心決策(必讀):
- ADR-001: 多租戶數據隔離策略 - 理解多租戶架構
- ADR-003: Entity 關聯設計策略 - 理解關聯設計原則
-
實作指南:
- 每個 ADR 的「實作指南」章節提供具體的檢查清單和程式碼範例
-
相關文檔:
- ADR 記錄「為什麼」(Why)
- 設計文檔(
docs/design-guidelines/)記錄「怎麼做」(How)
對於 AI 助手
-
快速查詢:
- 使用上方的「按主題檢索」快速找到相關 ADR
- 每個 ADR 都有「檢查清單」章節供驗證
-
理解脈絡:
- ADR 的「背景」章節說明決策的前因後果
- 「權衡分析」章節說明取捨
✍️ 如何撰寫 ADR
何時需要 ADR?
當面臨以下情況時,應該撰寫 ADR:
- ✅ 重大架構決策: 影響整體架構或未來擴展性
- ✅ 技術選型: 選擇框架、資料庫、儲存方案等
- ✅ 設計模式: 採用特定的設計模式或實作方式
- ✅ 權衡取捨: 需要在多個方案間做出選擇
- ✅ 打破慣例: 不遵循常見做法或業界標準
撰寫步驟
-
複製模板:
cp 000-template.md 00X-your-decision.md -
填寫內容:
- 清楚描述問題背景
- 列出所有考量的方案
- 說明選擇的理由
- 分析權衡與影響
-
審閱:
- 團隊成員審閱
- 確認決策合理性
-
更新索引:
- 在本文檔(README.md)加入新的 ADR
📊 ADR 狀態說明
| 狀態 | 說明 |
|---|---|
| 提議中 (Proposed) | 正在討論中,尚未定案 |
| 已接受 (Accepted) | 已接受並實施 |
| 已棄用 (Deprecated) | 不再推薦,但尚未被取代 |
| 已取代 (Superseded) | 已被新的 ADR 取代 |
🔗 相關文檔
設計文檔(How - 實作指南)
📝 ADR 編號規則
- 000: 模板
- 001-099: 基礎架構決策(多租戶、資料層、安全性)
- 100-199: 功能模組決策(訂單、客戶、產品)
- 200-299: 整合與部署決策(CI/CD、監控)
文檔維護者: Development Team + AI Assistant 最後更新: 2025-12-24