| 層次 | 別名 | 核心職責 |
|---|---|---|
| 表現層 | Presentation | 用戶交互、資訊呈現、指令轉譯傳遞給業務層/基礎設施層 |
| 領域層 | Domain / Business Logic | 業務規則、計算、驗證、協調基礎設施層任務 |
| 基礎設施層 | Infrastructure | 外部系統通訊、資料庫持久化、技術服務實現 |
錯誤示範:銷售系統中,「本月銷售額較上月增長 10% 標紅」邏輯寫在 JSP/表現層 → 領域邏輯滲漏到表現層。
正確分離:
boolean isSalesGrowthOver10Percent() 方法,封裝計算與判斷「領域層負責『是什麼』與『為什麼』,表現層只負責『怎麼顯示』。」
| 場景 | 特徵 | 架構決策 |
|---|---|---|
| 電子商務系統 | 高併發、全球用戶、增長快、領域邏輯簡單(訂單/庫存) | 1. 表現層:HTML/Web 適應廣泛用戶 2. 分散式處理支撐高併發 3. 預留擴展點 |
| 租賃管理系統 | 用戶少、領域邏輯極其複雜 | 1. 重點打造豐富領域模型 2. 表現層:WIMP (Windows/Icons/Menus/Pointer) 豐富客戶端 3. 便利輸入介面優先 |
| 簡單系統 | 用戶少、邏輯簡單、需快速交付、未來需求持續增加 | 1. 快速構建最小可用系統 2. 代碼結構預留擴展彈性 3. 避免過度設計 |
分層無永恆銀彈,**具體情況具體決策**。核心原則:高內聚、低耦合、依賴倒置、領域邏輯下沉。