Windows Workflow Foundation在哪里使用?

WF是用于用户界面还是业务层? 如果在UI层,那么在业务层编码甚至需要使用或学习呢?

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

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

编辑:

它取决于你是否使用它。 一般来说,大型项目使用WF,因为WF提供了宝贵的投资回报。 WF比简单的编写代码更难。 有一个相当陡峭的学习曲线,需要一个不同的方法来处理业务问题,并需要特殊的技能组合。 向WF提供代码会增加开销,因为您必须编写可能在工作流中使用的活动,并自行构建工作流程。

如果您认为为您的小型项目使用WF将提供宝贵的投资回报,那么就去做吧。 您将需要同时收回培训,基础设施实施和部署的初始成本,并通过简单地编写代码来解决手头的问题,从而提供长期有形的成本节约。 我怀疑WF是否会提供一个像ROI这样的小项目。 对于大型项目或单个大型公司的多个集成项目来说,实现ROI要比用较小的项目容易得多,这就是为什么像WF这样的工作流平台通常只用于这个规模。

WF是buisness层的接口。

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

他们非常使用,非常值得学习。 我开始使用然后在SharePoint和MS CRM。 我现在总是看工作流程来解决我的常见问题。

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

WF主要被理解为一个按时间顺序排列的事件序列。

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

我会说WF在UI上下文中不会非常有用。 它们更适合作为后端模块来表达整合了几种服务的流程,这些服务有时间上的变化趋势。

不过,从我的观点来看,WF是第一版产品是值得注意的:有许多尴尬的东西可能会引导您进入难以维护的代码,部分基础架构相当复杂,无法使用可能在这里和那里发现一些API不一致。

另外还有一个指南,如果你想把你的工作流移植到下一代WF上,你不应该做什么。