????? 所有管理類軟件的開發過程中,無論軟件規模大小,業務邏輯的編碼工作將占據整個開發周期的半壁江山。往往軟件產品的成敗,很大程度上取決于此。
????? 我在2007之前做過的幾個項目當中,業務邏輯基本是以程序代碼方式實現,雖然也引入了配置方式,但是項目的開發進度也沒見提高多少。在我進行資料收集時,一個不算很新概念映入我的眼簾:工作流。經過開發過程中的總結,目前我的工作流引擎也趨于穩定,并開發相應的流程設計器。
????? 流程設計器采用純GDI+進行繪制,并無采用與表單設計器相同方式實現(Designer)。我的一個同事曾問我,為什么不用Designer的方式實現。確實那樣實現起來相對來說開發進度會快很多,但使用GDI+繪制具備如下優點:
????? 1、性能比Designer方式高;
????? 2、程序移植性好;
????? 3、繪制邏輯與流程邏輯分離,程序易讀性高。
?????根據我的項目經驗和工作流標準,將流程分為兩種類型:
?????1、單表單流程:一個流程中的所有節點只能使用相同表單;
?????2、多表單流程:一個流程中的所有節點可以使用不同表單。
?????在引擎中我引入了以下節點:
?????1、開始:每個流程都由開始節點開始,它是流程的起始點,目前平臺中只一個流程只允許擁有一個開始節點;
?????2、處理:該節點用于設置流程的處理者;
?????3、會簽:用于設置流程的多名參與者,參與者都作出響應后才能進入下一個節點;
?????4、加簽:參考“會簽”進行設置,與會簽區別主要是加簽的處理者由上一步驟處理人指定;
?????5、適配器:適配器允許您的工作流系統與企業內部及外部的其他應用系統數據進行數據交互。執行SQL和執行存儲過程允許直接操作數據庫,是為了一些不具備交互數據能力的系統交互數據而設計的;
?????6、通知:以郵件形式通知某人某件事情;
?????7、邏輯與:此時必須每個處理者都處理通過才能進入下一步;
?????8、邏輯或:如果滿足完成條件時,取消該節點的入口任務,如不設條件,此時只要有一個處理者通過就能進入下一步;
?????9、公有子流程:“公有子流程”可被其它流程所調用;
?????10、私有子流程:將一個流程作為一個節點放置在主流程中;
?????11、數據驗證:驗證當前節點所處理的業務數據;
?????12、數據統計:統計當前節點所處理的業務數據;
?????13、數據導向:將當前節點所處理的業務數據,根據配置輸送到另一數據表;
?????14、結束:表示流程到此結束。
?????另:兩個節點之間的連接稱為處理鏈。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
