首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WF4.0 實戰(八):圖形化資料存取層——以工作流取代傳統 DAL 程式碼

     編輯:關於.NET

將傳統三層架構的資料存取層 (DAL) 工作流化:代碼生成器產出對應 Stored Procedure 的 XAML 活動,複雜業務邏輯以拖曳活動 (IF、Foreach、Transaction) 視覺化組合,無需修改程式碼重新編譯即可調整邏輯。

系統架構

資料存取層活動工具箱 訂購產品業務邏輯流程 實體類別圖

應用層呼叫

var input = new Dictionary<string, object> { { "Request", ListItem } };
WorkflowInvoker.Invoke(new yewuloji(), input);

核心機制

  • 每個 SP 對應一個 XAML 檔,由生成器自動產出 (使用 ADO.NET 活動:SqlCommand/ExecuteNonQuery 等)
  • 複雜業務 (如訂單+明細批次新增、統計金額、更新主單) 以流程圖組合基本 DAL 活動 + 控制流活動
  • 流程定義儲存為 XAML,可存資料庫、設計器熱修改、無需重新部署
新增操作 XAML 使用 ADO.NET 活動呼叫 SP 自動產生的 Stored Procedure Order/Item 資料表結構 自訂 DAL 活動工具箱 WF4 內建控制流活動 訂購產品完整業務流程

測試驗證

var li = new List<ItemInfo> {
    new ItemInfo { Price=18, ProductName="滑鼠" },
    new ItemInfo { Price=32, ProductName="鍵盤" },
    new ItemInfo { Price=5, ProductName="鍵盤墊" }
};
var input = new Dictionary<string, object> { { "ItemList", li } };
WorkflowInvoker.Invoke(new Test2(), input);
執行結果資料庫記錄

優缺點分析

優點:邏輯視覺化清晰、擴充性強 (流程存 DB)、維護容易 (熱修改 XAML)、程式碼量少 (生成器產出基礎 DAL)。
缺點:工作流引擎帶來效能損耗 (未量化)。

程式碼:WorkflowConsoleApplication12.rar、資料庫:Test.rar

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved