接觸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不僅僅是審批。當然這裡只是淺談,先說到這裡。歡迎大伙討論!