新疆軟件開發

本站首頁 軟件開發 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網站建設
  您現在的位置: 新疆二域軟件開發公司 >> 開發語言 >> 文章正文

基礎學習:基于WF的流程框架

        大家都知道,在WF中默認情況下,其活動是以樹狀結構組成的,簡單說就是復合活動包含其子活動,如果子活動也是復合活動也可以包含其子活動,但同一個活動不能成為兩個活動的子活動。這種方式被大量使用在WF自帶的活動庫中,比如:循環,條件活動等等。
這種方式的缺陷有以下幾點:
1、傳統的流程結構方式都是線性的,這種樹狀的可能會使流程設計人員反感;
2、如果樹的層次太多,會使流程難以理解。

        由此,是不是可以既不和WF內在樹狀結構沖突,又能在形式上以線性的方式表達流程結構呢?
我的想法是:
1、構建流程對象,把它作為根活動(復合活動),其他元素都以其子活動存在;
2、構建流(線)對象,它不是活動(Acticity)的子類,它指明了源活動和目的活動,同時也保存在流程對象中;
3、WF從根活動開始執行,這里就是流程對象,由它根據線的流向決定下一個執行的活動,但是它不負責諸如循環,條件這樣的結構;
4、構建循環,條件等活動(非復合)并由其根據線的流向決定下一個執行的活動。

這種方式也不是完美的,其缺點如下:
1、需要自己來構建循環、條件等流程結構,基本不能復用WF所提供的;
2、當涉及取消、補償、異常處理時,不僅需要自己來處理其跳轉流程,而且還需要構建管理分支活動的行為(考慮分支比較復雜的情況)。

當然,這兩種方式都是可行的構建方案,具體選擇還要看各自應用場景的不同以及項目本身的預算等條件的不同。
PS:這里討論的不涉及狀態機的方式。

作者:未知 | 文章來源:cnblogs | 更新時間:2008-3-19 19:03:34

  • 上一篇文章:

  • 下一篇文章:

  • 相關文章:
    沒有相關文章
    軟件技術
    · 開發語言
    · Java技術
    · .Net技術
    · 數據庫開發
    最新文章  
    ·搜集整理的asp.net的驗證方
    ·各種FOR循環結構的整理
    ·軟件項目開發中應該考慮那
    ·搜集整理的javascript sel
    ·軟件開發中項目經理有那些
    ·學習如何在Lambda表達式進
    ·C++基礎知識:結構體數據的
    ·C#實現短信發送程序的例子
    ·sun最近修補了一部分java的
    ·rss定制的另外一種實現方式
    ·delphi實現利用arp欺騙來實
    ·基礎學習:基于WF的流程框
    ·網絡編程中怎樣得知一次數
    ·如何逆序輸出單鏈表?
    ·軟件開發過程中的性能設計
    關于我們 | 軟件開發 | 下載試用 | 客服中心 | 聯系我們 | 友情鏈接 | 網站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發網 www.k8w.net All Rights Reserved 新ICP備14003571號
    新疆軟件開發總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯大廈A-5C 郵編:830000
     
    平码爱码论坛