我长期以来一直在努力寻找一个令人信服的工作流程用例(即:WF)与常规命令式编程不同。每次我都会得出这样的结论:我应该把 WF 排除在外,或者推迟到以后再做。但我总有一种挥之不去的感觉,总觉得缺少了一些东西。

有谁知道哪本书真正为工作流程方式提供了强有力的论证?这本书必须(i)很好地教授 WF,并且(ii)使用适当的用例来展示 WF 使实现比我们只进行常规的直接编码更容易。

我会很感激的。

有帮助吗?

解决方案

从非专业的角度

,有两件事情对我的情况下作出的WF - 一个独特的工作流平台,其他的也许更多的便利事情

在便利功能是创建构成活动的新的方式的能力。命令式编程只提供了组成元的有限库:基本上测序的if-else和循环。 WF允许你建立你自己的组成运营商,如交叉执行,并行执行,第一过去岗位,等等,当然它有内置状态机的复杂的组合机制。

我说这是一个方便的功能,因为你可以建立所有这些运营商在像C#命令式语言:其实这就是的如何的你打造WF运营商。但WF可以很容易的使用的和的阅读的定制成分,而在C#中你会迅速下降在lambda表达式的冰雹。所以,如果你有复杂的业务流程的要求 - 也就是说,如果你的活动结合在一起的方式比序列更加复杂,如果其他和循环 - 然后WF可以使你的程序更容易表达和理解

在独特的特征是耐久性。这就是舒克拉和施密特本书从开始,它一直回来。如果它是幸运的,甚至几个月写在C#或VB的必要程序可为数小时,数天,数周跑......但最终IIS是要循环应用程序池,或者管理员会想安装最新的安全更新或者有人会在电源线跳闸。怎么那么你的程序还记得,“没关系,我已经接到了公司平淡无奇的名称R Us的采购订单,而我在等从Breadheads公司的银行信贷审批,当我得到一些可以发送确认电子邮件“?

在常规的命令式程序中,当进程死亡,则执行状态与它死亡。你可以开始一个新的进程,但它会在程序的起点开始。当然,你可以创建一个数据库,并用它来储存标志像“得了购令”和“获得信贷审批。”但现在你必须编写应用程序特定代码来保存和查询状态,并跳回到正确的点取决于国家的计划。而且你要设计一个新的数据库和新的保存/恢复/跳转逻辑为每一个长期运行的应用程序。

耐用的工作流程是一个关于解决这一问题。如果你写你的程序作为一个活动的工作流程,然后WF将坚持其状态,包括它是在其执行流程的照顾。运行该程序的机器可能着火并烧毁您的数据中心,但是,当从银行的响应进来,WF会在你的其他数据中心唤醒你的程序,它会开始在正确的地方与正确的运行数据

这对我来说是“强案例” WF。在很多情况下,你不需要它:应用是足够短暂的失败是不是一个显著的关注,并从头重新开始是一个可行的恢复策略。但对于长期应用,如在这里你可能会策划,可能需要几个小时才能应对涉及谁可能需要数天才能respons人体外部系统或业务流程,耐久性可能是WF的杀手级功能。

声明:我不是一个程序员WF,从来没有建立一个真实世界的WF系统。我在这个即将从BizTalk背景,从我读过有关WF,因此本次评估是有点儿理论。希望它可以帮助都一样!

其他提示

不确定您的问题是否有一个好的答案。问题不在于该问题无效或类似的问题,因为您要求的是两个截然不同的东西。

首先,您询问使用工作流程的令人信服的理由。这是一个非常主观的问题,与技术无关。您可以在网络上找到指向各种成功和不成功的工作流程实施的白皮书。这与技术无关,使用某些产品 X 完成的解决方案也可以使用产品 Y 完成。Shukla 和 Schmidt 的章节确实解释了基础知识,但我不确定这是一本向您展示在何处以及如何应用工作流程的好书。

其次,您正在寻找一本可以教您 Windows Workflow Foundation 的书。第一个问题是 WF3 或 WF4,因为它们是非常不同的野兽。我将假设使用 WF4,因为当 .NET 4 发布时(很快就会真正发布),它将取代 WF3,并且在大多数情况下从 WF3 开始没有多大意义。但由于 WF3 从来都不是很受欢迎,而且对于大多数作家来说,图书市场的利润并不高,所以 WF4 的书还没有出版。我相信布鲁斯·布科维奇正在开发他的新版本 职业WF:.NET 3.5 中的 Windows 工作流 我发现这是一本更有用的 WF3 书籍。到目前为止,还没有任何内容,您只能使用 msdn 网站和像我这样的博客上极其有限的文档 这里. 。当然还有像这样的课程 来自 DevelopMentor(注:无耻的插件,因为我是主要课程作者)

我确实在这个答案中提供了一些原因 这里, ,这些可能会对您有所帮助。

不完全回答您的问题,但我希望所有这些对您仍然有用。

好理由是: 业务流程的可视化overwiew。 你甚至可以有你的客户 - 领域专家 - 编辑与设计师的工作流程;重新启动应用程序,并具有其上运行而无需重新编译

本好书:布鲁斯Bukowics AND 我喜欢的永诺:PRO C#2010和.NET框架4具有优良的章

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top