乾淨架構 (Clean Architecture)

由 Robert C. Martin (Uncle Bob) 提出的架構模式

核心概念

乾淨架構的目標是**依賴反轉**:業務邏輯不依賴框架、資料庫、UI。

┌─────────────────────────────────────┐
│           Frameworks               │  ← 外部框架(Angular, Express)
├─────────────────────────────────────┤
│           Interface Adapters       │  ← 控制器、資料庫連接
├─────────────────────────────────────┤
│           Application Business     │  ← Use Cases
├─────────────────────────────────────┤
│           Enterprise Business      │  ← Entities(核心業務規則)
└─────────────────────────────────────┘

為什麼要用?

好處 說明
可測試性 業務邏輯不依賴框架,可獨立測試
可維護性 改 UI 不會影響業務邏輯
可替換性 換資料庫不需要改業務邏輯
團隊協作 清晰的邊界讓多人同時開發

適用場景

  • ✅ 中大型專案(3+ 人團隊)
  • ✅ 需要長期維護的產品
  • ✅ 業務邏輯複雜
  • ❌ 簡單 CRUD 專案(殺雞用牛刀)
  • ❌ 原型開發( Prototype )

相關文件