接觸WF的一年多來,發現重視WF學習的人不多,而學習和研究WPF、WCF的人很多。估計大部分人都認為WF只是用來做審批的吧,而這篇文章淺談一下使用WF去實現拖拽方式的業務平台。我相信就WF的這一點就能深深地吸引你。
比較好的業務平台都是能方便的拖拽。底層開發人員實現平台,高層開發人員通過拖拽實現業務系統。自己去實現拖拽是非常麻煩的,如果用微軟的WF拖拽那不是事半功倍嘛,.net程式員用MS自己的東西何樂不為呢?下面我就一些常見的功能,我分別使用C#和WF拖拽的方式去實現,方便做個比較:
1、定義變數:
2、賦值
3、判斷:求大數
4、求1+2+3....+100=?
5、ADO.net和SQL操作:查詢顧客表,並轉化為List:
C#:
ADO.net操作(略)
WF:
連接字串
定義Sql
整個流程:
6、WCF服務:
C#:
定義ABC代碼(代碼反正不少)
WF:
7、集合操作:
C#:foreach
WF:
8、事務:略
9、自訂活動:可以將一些代碼封裝好成一個活動,放到工作欄上進行拖拽。
當然還有很多....
WF3到WF4的一個很大的變化是去掉了後台代碼,完全是XAML實現。上面這些操作,我可以向你保證:你不需要寫一句C#代碼,完全以拖拽為主。
看了上面的這個多,很多童鞋可能還是不明白,如果有開發過和接觸過拖拽方式的開發平台的童鞋,應該不陌生。
也有童鞋說從上面看來用了WF感覺還麻煩一些呢?其實上面這些例子我都是用MS內建活動區實現的,你完全可以在內建的活動基礎上根據自己的業務去自訂和封裝一些活動。如果你結合WPF還可以給WF活動造就非常的炫的外觀。
有童鞋肯定會提出效能問題,這個我只為自己狡辯一句:使用.net開發的人員技術肯定不如MS的開發人員吧,用他們的東西效能起碼比自己去寫更有保障。
簡單的畫了這個拖拽業務平台的主心圖:使用流程設計器把程式拖拽成XAML,將XAML儲存到資料庫,然後如果想執行某段程式,首先從資料庫中把它檢索出來,然後執行。
總結:WF不僅僅是審批。當然這裡只是淺談,先說到這裡。歡迎大夥討論!