Domain driven design A生命取决于B=>;A和B在同一总量中?

Domain driven design A生命取决于B=>;A和B在同一总量中?,domain-driven-design,Domain Driven Design,遵循DDD方法,当我有两个实体A和B时,其中B的生命周期取决于A的生命周期(我的意思是B仅在A存在时才存在-例如A表示应用程序,B表示应用程序的运行实例),我是否应该推断A和B属于同一个聚合,其中A是根 我读过很多文章和书籍,他们总是说在聚合中有根实体和其他元素。这些其他元素可能是其他实体或值对象。内部实体的标识是聚合的局部标识,因此它们只有在聚合中才有意义。我应该从这最后一句话来解释吗ce(即本地标识)内部实体的生命周期取决于根实体之一 我已经有了Stackoverflow的例子,其中有两个实

遵循DDD方法,当我有两个实体
A
B
时,其中
B
的生命周期取决于
A
的生命周期(我的意思是
B
仅在
A
存在时才存在-例如
A
表示
应用程序
B
表示
应用程序
的运行
实例
),我是否应该推断
A
B
属于同一个聚合,其中
A
是根

我读过很多文章和书籍,他们总是说在聚合中有根实体和其他元素。这些其他元素可能是其他实体或值对象。内部实体的标识是聚合的局部标识,因此它们只有在聚合中才有意义。我应该从这最后一句话来解释吗ce(即本地标识)内部实体的生命周期取决于根实体之一

我已经有了
Stackoverflow
的例子,其中有两个实体
A
B
,其中
B
的生命周期取决于
A
的生命周期(即
B
仅在
A
存在时才存在),位于不同的聚合中。通常,这是因为提出问题的人有兴趣拥有两个存储库(一个用于
A
,另一个用于
B
),而在DDD之后,应该只为根聚合创建存储库


由于澄清了这一点,聚合的中心功能是围绕集群或相关实体创建一致性边界。此一致性边界取决于手头的用例,甚至可能由于技术要求(如性能等)在单个用例中发生变化

我是否应该推断A和B属于同一个聚合,其中A是 根

可能是这样的,但是也可以有一个例子,其中代码和实例> <代码>都是聚合和<代码>实例<代码>引用>代码>应用程序>代码>。是否以最终一致的方式删除实例

我是否应该从最后一句话(即本地身份)中理解为 内部实体的生命周期取决于根实体之一 实体

是的。聚合应封装其组成实体。外部引用只能通过ID或直接引用其他聚合,尽管推荐的方法是通过ID引用


查看

我实际上是在这一系列文章中寻找一些关于事务聚合一致性的示例。这三篇文章非常棒。Vaughn提出了很好的观点,但我仍然有一些疑问。