微軟的WorkFlow(WWF)和windows presentation foundation(WPF), windows comunications foundation(WCF),是微軟基於Vista和.net 3.x的戰略。
Windows WorkFlow 的主要功能是,把邏輯控制和表單分開。其中,邏輯建立為一個專門的workflow檔案(用 C#或者XML表達),表單就是傳統的winform,webForm或者Console。他們之間的通訊媒介是介面(interface)。
WorkFlow主要有3種類型:序列型、狀態型和資料控制型。序列型,類似於一個工作的先後步驟。狀態型重點在於使用者的控制和互動。資料型的邏輯控制主要在於資料。
學習WorkFlow的前提是對C#的代理(delegate)和事件(even),多線程有足夠的瞭解。
如果要親自寫一個workFlow,需要安裝ms提供的免費的WorkFlow For VS.net 2005。這個安裝包會引入類庫System.WorkFlow。具體的資訊在MS的MSDN2有詳細的介紹。ms提供了overview,programing guid和turiour協助。
一個workflow包含了很多Activity,每個Activity執行了一些動作。WorkFlow中還有Service,同來提供一些通用的功能。系統內建了常用的activity和service。如條件控制的Activity和序列化的service。
在學習workFlow之前,我們會有這樣的疑問:是不是學習了WorkFlow就不用編碼了,直接畫一個流程圖就可以實現程式的邏輯了。其實不是這樣的。workFlow只是做了2個事情:1個是把workFlow從傳統的介面呈現分開,另一個是提供了 ifEleseActivity,IfActivity,ElseActivity,Condition,CallExternalMethod等東西,可是具體到Condition到底是怎樣的condition,所Call的外部方法到底是什麼,還是要自己寫。
在假期,我閱讀了workFlow的OverView,完成了一個tutorial,之後又用VS從介面的方式操作了一次。