Windows Workflow Foundation在哪里使用?

时间:2009-09-25 18:40:51

标签: windows workflow workflow-foundation

WF是在用户界面还是业务层使用?如果在UI层,那么在业务层编写的人是否需要使用或学习它?

3 个答案:

答案 0 :(得分:8)

克里斯提出了一个很好的答案,所以我会采取不同的策略。工作流程与逻辑真的不一样。工作流程通常是逻辑的组合,这使得它们成为整体的补充贡献者。在业务组件很好地封装单个业务规则或行为的情况下,工作流组成多个业务组件,规则和行为,以满足更大,更长时间运行的业务流程的需求。

工作流程可以适应任何地方,满足UI,业务甚至数据层的流程需求。如果您最终使用WF,我强烈建议您培训您的一般开发人员,以便有广泛的知识和理解。尽管有一个视觉方面,WF仍然需要一些低级编码来建立一个活动库,以便工作流创建者和维护者使用。

编辑:

由您决定是否使用它。通常,WF被大型项目使用,因为WF提供了宝贵的投资回报。 WF比简单编写代码更难使用。学习曲线相当陡峭,需要采用不同的方式来解决业务问题,并且需要特殊的技能。向WF提供代码会增加开销,因为您必须编写可能在工作流中使用的活动,以及自己构建工作流。

如果您认为在您的小项目中使用WF将提供有价值的投资回报,那就去吧。您需要同时收回培训,基础架构实施和部署的初始成本,以及提供长期,切实的成本节省,而不是简单地编写代码来解决手头的问题。我怀疑WF会提供一个像投资回报率这样的小项目。对于大型项目或单个大型公司的多个集成项目,实现ROI比使用较小项目更容易,这就是WF等工作流平台通常仅用于该规模的原因。

答案 1 :(得分:3)

WF是商务层的接口。

工作流是一种通过将预定义的活动链接在一起而不是编写代码行的命令式编程模型来编写程序的声明方式。此外,您还有许多图形工具,可以让您进行工作流程。如黑珍珠,K2和sharepoint设计师。

它们非常有用,非常值得学习。我开始在sharepoint和ms crm中使用。我现在总是寻求工作流来解决我的常见问题。

这里有几个链接: mirosoft msdn.microsoft.com/en-us/netframework/default.aspx Wkik:http://en.wikipedia.org/wiki/Windows_Workflow_Foundation

答案 2 :(得分:2)

大多数人都非常理解WF - 一系列按时间顺序排列的事件。

但是,如果你深入研究,你可以用不同的方式组合活动。一个很好的例子是基于状态的工作流,通常在呈现WF时也会显示。 WF允许您将工作流置于空闲模式:它的当前状态是持久的并重新加载一次,例如发生外部事件。因此,工作流程可用于跟踪系统必须等待的长时间运行的交互。一些外部流程结束或某些用户与系统交互。

我会说WF在UI环境中不会非常有用。它们更适合作为后端模块来表达集成多种服务的流程,这些服务有时会发生变化。

从我的观点来看,WF是第1版产品是显而易见的:有许多尴尬的事情可能会引导您进入难以维护的代码,部分基础架构非常复杂使用过,您可能会发现这里存在一些API不一致的问题。那里。

如果您想将工作流程移植到下一代WF,还有一个不应该做的准则。