工作流(WF)是用于用户界面(UI)层还是业务层?如果在UI层使用,那么即使在业务层编码的人需要使用或学习它吗?
工作流(WF)是用于用户界面(UI)层还是业务层?如果在UI层使用,那么即使在业务层编码的人需要使用或学习它吗?
WF是与业务层交互的接口。
工作流是通过连接预定义活动而非编写代码行的命令式编程模型来编写程序的声明性方式。此外,您还可以使用许多图形化工具编写工作流程,例如Black Pearl、K2和SharePoint Designer。
它们被广泛使用并值得学习。我开始在SharePoint和MS CRM中使用它们。我现在总是寻求工作流解决常见问题。
以下是一些链接: microsoft msdn.microsoft.com/en-us/netframework/default.aspx Wkik: http://en.wikipedia.org/wiki/Windows_Workflow_Foundation
WF通常被理解为时间顺序的一系列事件。然而,如果您深入研究,可以以不同方式组合活动。状态型工作流是一个很好的例子,在介绍WF时通常也会展示这些工作流。WF允许您将工作流置于空闲模式:其当前状态被保留并重新加载,例如当外部事件发生时。因此,工作流可用于跟踪长时间运行的交互,其中系统必须等待某些外部过程结束或某些用户与系统进行交互。
我认为WF在UI上下文中不会特别有用。它们更适合作为后端模块,以表达整合几个服务的过程,这些服务具有随时间变化的倾向。
从我的角度来看,不难发现WF是一个版本1产品:有许多笨拙的事情可能会引导您编写难以维护的代码,部分基础设施使用起来相当复杂,您可能会在这里和那里发现一些API不一致的地方。
还有一条指南,告诉您如果想要将工作流迁移到下一代WF,则不应该做什么。