軟體分層的基本介紹
基本三層式架構
- 展示層(Presentation Layer)
- 業務邏輯層 (Business Layer)
- 資料層 (Data Layer)
優點
- 結構簡單,容易理解和開發
- 層與層間相依於介面,強化內聚,降低耦合
- 資源重用性好
- 關注點分離,每一層都可以獨立開發、測試
- 提高系統安全性
- 便於資料庫抽換
缺點
- 調整時會比較麻煩、費時
服務型分層架構
- 新增服務層 (Service Layer) : 負責把封閉的分層開放給外部使用
- 比三層式架構多了點彈性
領域驅動設計架構
- 新增領域層 (Domain Layer) : 專注理解使用者需求
- 需要一位領域專家
優點
- 貼近使用者
- 一套流程處理複雜問題
- 幫助我們有組織且可測試的程式碼
- 好維護
缺點
- 需花時間溝通理解
- 學習曲線比較高
- 不適合無複雜商業邏輯的情境