使用DDD的Workflow Foundation

时间:2009-12-04 02:29:12

标签: workflow-foundation domain-driven-design

我很好奇是否有人将工作流程基础应用于DDD项目,如果有,那么陷阱/陷阱是什么。

我正在研究一个非常复杂的状态过程,看起来WF非常适合,但我正在尝试确定如何将工作流与操作域模型的状态隔离开来。有人建议我做一个体面的反腐败层,并从那里开始。

其他人有过这方面的经历吗?

2 个答案:

答案 0 :(得分:3)

一个非常好的解决方案是域事件,如described by Udi Dahan here(这是第三部分;您可能还应该阅读他之前的两个部分)。基本上,不是将域对象注入到工作流基础结构中,而是引发将路由到适当聚合根的事件。

答案 1 :(得分:2)

“我正在研究一个非常复杂的状态过程,看起来像WF非常适合”

这实际上不是基于活动的工作流程擅长的事情。不幸的是,这是WF的架构模型。在WF 4.0中,他们已经从工具箱中删除了状态机工作流程。

你可能会以ILog的形式出现更好的事情。这是一篇不错的博客文章,将其与BizTalk进行比较,BizTalk可以说比WF具有更强大的工作流程/编排功能:

http://geekswithblogs.net/AndrewSiemer/archive/2009/03/30/ilog-rules-for-.net-3.0-ndash-quick-overview.aspx