Try   HackMD

基於企業系統架構的 .NET 開發框架

延續上一篇 企業系統的 N-Tier 架構設計,本篇介紹如何依此理念,嘗試使用 AI Coding(GitHub Copilot)實作一套模組化的 .NET 開發框架 —— Bee.NET Framework

✨ 為什麼叫做 Bee.NET

Bee.NET 命名靈感來自「蜜蜂的分工協作」與「蜂巢的穩定結構」:

  • 蜜蜂透過分工協作,共同建構六角形蜂巢,每個蜂巢格既獨立又彼此連結,形成最穩固的結構。
  • Bee.NET 中的每個元件就像蜂巢格,依責任模組化構建,組合成穩健且可擴充的系統架構。

🌟 Bee.NET 不只是技術名稱,更是一種架構哲學 ——
「如蜜蜂般專注協作,打造模組化、可維護的企業應用系統。」

🧱 五層式架構設計(N-Tier Architecture)

Bee.NET 採用五層式架構(N-Tier Architecture),將企業應用系統依照職責清楚劃分,有助於模組化、單元測試與彈性擴充。依照實務開發流程拆分為「前端(Frontend)」與「後端(Backend)」兩大區塊,以便釐清職責邊界與部署需求。

🖥️ 前端(Frontend)

前端負責與使用者互動、畫面呈現與 API 呼叫。下圖為系統前端組件架構,詳細元件說明請見下方《Bee.NET 各層組件說明》表格。

API 呼叫層

表現層

Bee.UI.WinForms.dll
Bee.UI.Blazor.dll
Bee.UI.Maui.dll

Bee.UI.Core.dll

Bee.Connect.dll

Frontend
Bee.Api.Core.dll


🛠️ 後端(Backend)

後端負責接收 API 請求、執行業務邏輯、並存取資料庫。下圖為系統後端組件架構,詳細元件說明請見下方《Bee.NET 各層組件說明》表格。

資料存取層

業務邏輯層

API 服務層

Backend
Bee.Api.Core.dll

Bee.Api.AspNetCore.dll
Bee.Api.AspNet.dll

Bee.Business.dll

Bee.Db.dll

資料庫


🌐 前後端資料流(API 呼叫)

API 呼叫為前後端的橋梁,通常使用 HTTP 或 HTTPS 傳輸 JSON 資料,透過 Bee.Api.Core.dll 中定義的資料結構進行互動。

HTTP API

Frontend
Bee.Api.Core.dll

Backend
Bee.Api.Core.dll


📦 Bee.NET 各層組件說明

組件名稱 所屬層級 目標框架 說明
Bee.Base.dll 共用基礎模組 .NET Standard 2.0 提供序列化、加解密等共通工具。
Bee.Define.dll 共用結構定義 .NET Standard 2.0 定義系統資料結構,如設定、表單與欄位定義。
Bee.Cache.dll 資料存取層 業務邏輯層 .NET Standard 2.0 快取定義資料與衍生資料以提升效能。
Bee.Db.dll 資料存取層 .NET Standard 2.0 封裝資料庫操作邏輯,支援 SQL 組合與連線綁定。
Bee.Business.dll 業務邏輯層 .NET Standard 2.0 負責實作應用層的業務邏輯,如表單流程控制與商業規則處理。
Bee.Api.Core.dll API 呼叫層 API 服務層 .NET Standard 2.0 提供 API 核心功能,如資料模型、加解密、序列化等。
Bee.Api.AspNetCore.dll API 服務層 .NET 8 提供 ASP.NET Core 的 JSON-RPC 2.0 API 控制器。
Bee.Api.AspNet.dll API 服務層 .NET Framework 4.8 提供 ASP.NET 的 JSON-RPC 2.0 API HttpModule。
Bee.Connect.dll API 呼叫層 .NET Standard 2.0 提供連接器機制,支援近端與遠端呼叫後端邏輯元件。
Bee.UI.Core.dll 表現層 .NET Standard 2.0 管理用戶端與伺服端連線的設定與狀態。
Bee.UI.WinForms.dll 表現層 .NET 8 提供 WinForms 使用者介面元件與排版管理。
Bee.UI.Blazor.dll 表現層 .NET 8 提供 Blazor 專用使用者介面元件與 Razor 元件組合。
Bee.UI.Maui.dll 表現層 .NET 8 提供 .NET MAUI 跨平台 UI 元件與頁面佈局,支援 Android、iOS、macOS、Windows。

🧩 架構特色

  • 🧠 分工明確、責任導向:每層聚焦其核心職責,降低耦合度。
  • 🧱 模組化設計:元件獨立、可重用、可替換,便於測試與維護。
  • 🖥 跨平台支援:採用 .NET Standard 2.0,兼容 .NET Framework、.NET Core、.NET 8。
  • 🚀 支援 JSON-RPC 2.0 API 架構:提供簡潔、標準化的 API 通訊方式。
  • 📦 MessagePack 支援:JSON-RPC 傳輸資料支援 MessagePack 序列化格式,可大幅減少傳輸量並提升效能。
  • 🧭 適用於企業級開發:能快速穩定地建構與擴充 ERP / HRM / CRM 等核心系統。

📦 套件下載

Bee.NET Framework 各套件已陸續發佈至 NuGet,後續會提供使用範例說明。

🔗 前往 Bee.NET Framework 套件頁面

🛠 應用實例(預告)

未來將介紹如何基於 Bee.NET Framework 建構實際的企業模組系統,例如:

  • 後端邏輯元件的模組化設計
  • 表單定義與處理流程
  • API 與 UI 整合開發流程

📚 延伸閱讀


🧑‍💻 歡迎交流架構設計與 .NET 應用開發心得,後續將持續分享更多 Bee.NET 實作內容!