接触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不仅仅是审批。当然这里只是浅谈,先说到这里。欢迎大伙讨论!