Visual Studio 2008上市之後,WF終於有了一個完整的設計工具,同時加上了支援WCF的SendActivity、ReceiveActivity之後,以工作流程為導向的設計模式就算正式到位了。究竟以工作流程為導向的應用程式發展方式,和以往有甚麼不一樣? 我想,我們可以從MVC設計模式切入進來了解一下。
所謂MVC設計模式,簡單的說是將應用程式分成三個設計區塊:Model、View、Control。Model指的是後端負責運算的邏輯模組;View指的是接收使用者輸入資料與顯示狀態的操作介面;而Control指的是在Model和View之間,負責派送與驗證資料,還有決定下一個使用者要檢視的介面(next view)的邏輯。一般說來,Model跟View是很容易區分跟理解的,比較麻煩的,就是Control這一塊。
WF 提供兩種流程模式--State Machine和Sequential。State Machine Workflow相當適合用來建立Control所需要的邏輯,並且可以根據使用者的操作狀態,切換並記錄狀態。而在Model當中,則可以使用Sequential Workflow維護運算的邏輯,包含物件的邏輯、企業級運算的邏輯、資料處理的邏輯等等。透過這樣的架構,我們就可以比較容易的使用MVC架構建立企業級的分散式應用程式。
接下來,我將以ASP.NET為例,說明透過WF進行MVC設計的方式。
沒有留言:
張貼留言