在企業內部使用的 ERP/CRM/HRM 系統開發中,採用 N-Tier 多層式架構 是常見且有效的方法,可達到清楚的職責分離、良好的模組化與系統延展性。本文介紹一套適用於這類型系統的五層式架構,並說明各層的角色與特色。
分層名稱 | 英文名稱 | 說明 |
---|---|---|
表現層 | Presentation Layer | 提供使用者介面(UI),如 WinForm、Web UI、APP UI。 |
API 呼叫層 | API Connector Layer | 封裝 API 呼叫邏輯,支援序列化、加密、壓縮等處理,是用戶端的對外接口。 |
API 服務層 | API Service Layer | 提供統一的 API 接口給外部系統存取,支援授權驗證與參數處理。 |
業務邏輯層 | Business Logic Layer (BLL) | 負責處理系統內部的業務邏輯與流程控制,核心元件為 BusinessObject。 |
資料存取層 | Data Access Layer (DAL) | 存取資料庫的封裝層,透過 DbAccess 管理資料查詢與異動。 |
FormLayout.xml
動態描述表單欄位與行為,支援 WinForm/Web/APP 三種前端自動化生成。BusinessObject
,統一處理資料與行為:
BusinessObject
,只覆寫需要調整的方法。DoBeforeSave
方法,自訂存檔前的驗證邏輯。DoAfterSave
方法,調整存檔後的過帳或通知行為。DatabaseID
。DbTable.xml
定義資料結構,支援跨資料庫類型(SQL Server、MySQL 等)。FormDefine.xml
管理欄位與行為設定。
透過上述 N-Tier 五層架構,企業系統可實現以下效益:
此種架構已成功應用於 ERP/HRM 系統中,證實其可擴充性與長期維運的可行性。
📘 HackMD 原文筆記:
👉 https://hackmd.io/@jeff377/enterprise-n-tier
📬 歡迎追蹤我的技術筆記與實戰經驗分享
👉 Facebook|天台上的架構師
👉 HackMD|架構開發筆記
👉 GitHub
👉 NuGet