Application = Code + Workflow

本文介绍了Windows Workflow Foundation (WF) 的最新版本WF4,该版本提供了直观的图形化设计工具,使得开发人员能够轻松地创建和维护复杂的应用程序流程。通过自定义CodeActivity类别和组合工作流,开发人员可以实现模块化编程,便于单元测试和代码复用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

文章来源:IT工程技术网 http://www.systhinker.com/html/29/n-11529.html

从莫约10年前,我就在等这一天的来临。

程式设计,与电子电路的设计一样,都是希望可以透过一些方式,将可以重复使用的功能元件化之后,方便重复使用。而在Test-Driven Developement当中,元件也是进行单元测试的重要单位。在设计电子电路时,我们可以透过一些方便的Layout软体,帮助我们设计线路(流程),并且测试结果:

(如果各位不是电子相关科系背景的,可以参考这一篇: http://www.mobile01.com/topicdetail.php?f=300&t=533106 )

然而,在程式设计这一个领域中,我们却仍然像是大一电子实验一样,拿着面包版在做劳作:

当BziTalk Server出现之后,Orchestration Designer提供了图形化的操作介面,让开发人员可以透过图形化的方式,快速的将应用程式的工作流程设计出来,并且应用在系统整合的情境当中。从那时开始,我每次上BizTalk Server的课,就要向大家说:"图形化操作才是程式设计的王道啊!!!" -- 无奈大家Coding 习惯了,对于我所描述的情境似乎无法想像。

但随着网际网路应用程式与云端技术的发展,系统的复杂度已非以往的程式设计观念可以满足;同样的,为了维持软体的开发品质以及降低维护成本,我们也必须要有更好的方式可以快速的去检视程式码的内容。因此,Windows Workflow Foundation (WF)诞生了!

在我的上一本书当中,曾经为各位介绍WF在.NET 3.5当中的操作方式。随着即将到来的.NET 4 + Visual Studio 2010,WF 4也提供了更直觉、也更像电子电路设计的操作方式,实现了“ Application = Code + Workflow ”的境界!例如,我们希望在程式启动时,可以根据现在的系统时间,显示不同的问候语。第一步,你可以先撰写程式,将显示不同问候语的程式,定义成不同的CodeActivity类别:

CodeActivity类别就是你的程式的最基础执行单元 ,在设计应用程式的流程时,这些CodeActivity类别会自动出现在工具箱中:

然后你就可以使用这些自订的CodeActivity类别,加上WF 4内建的活动,设计出你需要的流程:

然后,在流程中设定需要的一些变数,以及透过属性视窗设定资料传递的规则:

最后,在程式码中,透过WorkflowInvoker物件类别的Invoke方法,就可以载入工作流程定义并执行:

执行结果如下:

如何,是不是很简单?

同时,透过这样的方式所设计出来的工作流程,将来也可以很容易直接的被引用到其他的工作流程中重复使用,自然的就有元件化与模组化的效果。而每一个单独的CodeActivity类别与工作流程,因为都是独立运作的单元,因此也很容易就可以透过Visual Studio 2010开发工具,进行单元测试,提升程式码模组的可靠度。

 

文章来源:IT工程技术网 http://www.systhinker.com/html/29/n-11529.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值