程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WF4.0實戰(七):請假流程(帶駁回操作)

WF4.0實戰(七):請假流程(帶駁回操作)

編輯:關於.NET

我使用WF4.0有很長一段時間了,但是對WF3.0和WF3.5自知甚少,對狀態機也不甚了解。今天生魚片前輩的博文:WF4實現工作流駁回流 轉模型的幾種設計方案 中提出的四中實現駁回的方式中。第一種大家都覺得太過麻煩。現在我是使用第二種的。第三種沒用過,覺得有些 問題。 他在文中提出第四種方式是最好的,我也非常同意。 這篇文章中,將使用第四種狀態機的方式實現一個請假流程,這個流程中有 駁回操作。

WF4.0的狀態機是微軟今天發布的,下載地址是:http://wf.codeplex.com/releases/view/43586,我就迫不及待的安裝好了,試用了一 番。

這個Demo一是展現一下WF4.0狀態機的功能,二是為了使用狀態機實現這個工作流中常用的駁回操作,三是為了展示用WF4.0實現一個簡 單的請假流程的。流程圖如下:

Flowchart流程圖如下:

狀態機如下圖:

WF4.0中狀態機中共三種活動屬如下:

而我畫的狀態機中多了一種Composite State,這個也是一種state。在composite中的state將會流進同一個 transition 中。

狀態機和順序流、flowchart不同,狀態機的觸發事件和路由條件都設置在連線上面,微軟稱它為transition。我感覺有一點不爽的是, 在狀態機中同樣的條件表達式,不同的情況可能也設置好幾次。比如說這個請假流程,天數小於3要在一個transition中設置一次。大於等 於3在另外一個transition又要設置一次。這點不如flowchart靈活。

總結:

和flowchart畫線駁回相比,雖然少畫了flowdecision,工作量感覺還是差不多。還有在flowchart中可以拖狀態機,而在狀態機中不能 拖放flowchart中的活動。同樣在順序工作流中可以拖放狀態機,在狀態機中不能拖順序工作流。flowchart和順序工作流是可以相互嵌套的 。

例子代碼:http://files.cnblogs.com/zhuqil/leaveFlowSolution.rar

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved