架構定義
應用程式架構是系統結構的概念性描述。隨著分散式運算普及,企業需縮短開發週期、提高靈活性以應對市場變化。
傳統兩層架構 (Client/Server)
- 客戶端直接連接伺服器
- 客戶端負責資料處理與應用邏輯
- 優點:簡單直觀
- 缺點:
- 客戶連線開銷大
- 伺服器資料格式限制
- 擴展性差,無法應對大量/未知客戶端
三層架構
| 層級 | 職責 | 關鍵特性 |
| 表現層 |
資料呈現、使用者介面 |
Web/WinForm/Mobile,不含業務邏輯 |
| 業務邏輯層 |
實作業務規則、工作流程 |
不依賴特定客戶端,不關心資料儲存細節 |
| 資料存取層 |
具體資料 CRUD、檢索儲存 |
封裝資料庫操作,支援多種資料源 |
三層架構優勢
- 低耦合:修改任一層不影響其他層
- 高重用:業務邏輯可被多種表現層呼叫
- 可擴展:各層可獨立擴展部署
- 易維護:關注點分離,程式碼清晰
重要澄清
三層 ≠ 三台伺服器。三層是邏輯模型,物理部署可為:單機多進程、多機分佈式、雲端微服務等,取決於服務部署位置。
演進建議
- 識別業務邏輯與資料存取的耦合點
- 抽象資料存取介面
- 建立業務邏輯服務層
- 表現層透過介面呼叫服務
- 引入依賴注入框架管理相依性