我读过这个,这让我想起了两次:
“避免工作模式的单元格。整个根应该定义事务边界。”
为什么要有人避免使用域驱动设计的UOW模式?
解决方法
(在我的帖子之前,我建议阅读V. Vernon的“实施域驱动设计”的
this chapter版本,它可以帮助您获得关于聚合的结果,并对您的问题提供长期的回答。
在一个正确设计的系统中,一个命令一次更改一个聚合,每个聚合都具有由聚合根中的不变量定义的边界。因此,当您对聚合进行任何更改时,会检查不变量,并在一个事务中应用(或不)更改。这是事务一致性。你需要在这里使用工作单位吗?不要这样想。
但是我们经常遇到一次需要更改一个聚合的情况。交易变得越来越大,它们接触到系统的一部分,我们谈论最终的一致性。在这种情况下,UoW是一个很好的帮手。
由于没有上下文提到,很难猜测作者在想什么,但我想他谈到了事务一致性的情况。在分布式系统中,您将需要使用像UoW这样的东西来为系统提供最终的一致性。