0

当应用程序想要基于已经存在的 Aggregate 创建新的 Aggregate 时,我们可以将现有 Aggregate 中的所有内容(除了内部实体的 ID)复制到新的 Aggregate 中。但是如果某些内部对象引用了聚合边界之外的对象,我们就不能同时复制被引用的对象。

a) 我知道聚合应该管好自己的事情,不要干扰其他聚合的生命周期,但是如果我们也复制存在于聚合边界之外的对象,究竟会出现什么问题?

4

1 回答 1

2

假设您有一个包含对象Order集合的聚合,OrderLine并且您想要基于现有订单创建新订单,您只需复制订单及其关联的订单行。即使订单行可能有对 a 的引用,Product您也不会复制产品,因为它不是聚合的一部分。

理想情况下,订单行甚至应该没有对产品实例的引用,而只是保存产品 ID。

正如 eulerfx 提到的复制背后的原因可能会提供更多见解:)

于 2013-01-22T04:25:00.913 回答