我很好奇是否有人将工作流程基础应用于DDD项目,如果有,那么陷阱/陷阱是什么。
我正在研究一个非常复杂的状态过程,看起来WF非常适合,但我正在尝试确定如何将工作流与操作域模型的状态隔离开来。有人建议我做一个体面的反腐败层,并从那里开始。
其他人有过这方面的经历吗?
答案 0 :(得分:3)
一个非常好的解决方案是域事件,如described by Udi Dahan here(这是第三部分;您可能还应该阅读他之前的两个部分)。基本上,不是将域对象注入到工作流基础结构中,而是引发将路由到适当聚合根的事件。
答案 1 :(得分:2)
“我正在研究一个非常复杂的状态过程,看起来像WF非常适合”
这实际上不是基于活动的工作流程擅长的事情。不幸的是,这是WF的架构模型。在WF 4.0中,他们已经从工具箱中删除了状态机工作流程。
你可能会以ILog的形式出现更好的事情。这是一篇不错的博客文章,将其与BizTalk进行比较,BizTalk可以说比WF具有更强大的工作流程/编排功能: