微軟MVP初探WF 4.0 beta1 嶄新面貌讓人吃驚
微軟發(fā)布Visual Studio 2010 Beta1 ,和Visual Studio 2008一樣,Visual Studio 2010在新建項目時也可以指定目標.NET Framework版本,并且可用的項目模板會根據(jù)選擇的.NET Framework而發(fā)生變化。更多Visual Studio 2010功能介紹可參閱此文檔
當使用.NET Framework 3.5時,可創(chuàng)建如下工作流項目,著我們已經(jīng)很熟悉了:
而當使用.NET Framework 4.0時,可創(chuàng)建的工作流項目卻和使用.NET Framework 3.5大為不同:
最明顯的變化莫過于取消了狀態(tài)機工作流的項目模板,取而代之的是一種新的工作流類型:Flowchart。與狀態(tài)機相比較,F(xiàn)lowchart更加靈活,也更符合人類的思維模式。而且Flowchart和Sequential之間是可以相互嵌套使用的,這使得我們在需求分析階段畫出的工作流草圖幾乎可以原封不動的轉(zhuǎn)移到工作流設計器中。
我簡單用Flowchart畫了一下那個古老的“多級審批工作流”,說實話,采用WPF的設計器并不是那么好用和高效。
不過還是可以看出Flowchart的強大和人性化,讓我們放心地和狀態(tài)機說再見吧。
此外,添加新項的項模板也有所不同:
在添加新項和新建項目中都有關于“Activity Designer ”的模板。這一類模板用于創(chuàng)建活動設計器,而且我們像設計WPF程序一樣設計活動設計器,極為方便。
在Visual Studio 2010 beta1中,我們可以清楚地看到這些活動:
這一次我們看到的活動列表和我之前在《WF 4.0,迎接變化》一文中所披露的又有所不同,這一版提供的活動從功能上來說更為豐富,甚至可以通過活動來操作集合了(AddToCollection、ClearCollection、RemoveFromCollcetion、ExistInCollection、ForEach……)。
另外我們還注意到,WF 4.0中的工作流會以XAML為擴展名來保存(又繞回原來的擴展名了),并且沒有了代碼隱藏文件。因為WF 4.0的每一個活動都可以看做是一個作用域,在這個作用域里該活動可以維護自己的變量和輸入輸出參數(shù),輸入輸出參數(shù)和變量之間可以進行松散的綁定,這里之所以說“松散的綁定”,是為了和以前的依賴項屬性綁定方式相區(qū)別。依賴項屬性的綁定基本上可以看做是變量和變量之間的綁定,而WF 4.0的綁定則可以是一個表達式,更加靈活。
也許WF產(chǎn)品組希望我們不再依賴于在工作流中編寫代碼來驅(qū)動工作流進行,而是采用活動和數(shù)據(jù)來驅(qū)動工作流。所以在WF 4.0中,自定義活動仍然是包含代碼隱藏文件的,是可以自由編寫代碼的。
【編輯推薦】