gpt4 book ai didi

entity - 差异聚合根/实体

转载 作者:行者123 更新时间:2023-12-02 04:27:42 27 4
gpt4 key购买 nike

我正在努力解决这个问题:如何判断一个概念是聚合根还是只是一个实体(属于 AR 的一部分)? :

  • 他们都有 ID
  • 它们都是由实体或值对象组成

也许如果我需要引用其他 AR 中的实体,那么我需要将其设为 AR:如果应用程序上的某个位置我需要将某些内容链接到特定订单行,那么订单行将成为 AR。

或者只是在生命周期方面,但如果是的话,我不认为在 AR 中拥有实体有什么意义:它只是值对象。

或者也许是因为实体可以改变 AR,那么我会将其推广为 AR。

最佳答案

看看Udi Dahan下面是博客文章和评论。

从技术角度来看,AR是一个交易边界。换句话说,一组应始终保持一致的实体。如果按照这个定义走极端,AR 甚至不需要有 Id。

从业务角度来看,它是您所在领域的主要概念,是通用语言的一部分,而实体则不一定如此。

例如对于汽车销售公司来说,汽车是 AR,但发动机、车轮、轮胎等只是实体。但是,如果您将汽车销售公司的软件扩展到汽车制造能力,那么:发动机、轮胎等:在软件的这一部分中可能会单独使用 AR。因此,如果您有一款销售汽车并制造汽车的软件,有时您会根据具体情况拥有不同的 AR。有些对象在一个地方是 AR,而在另一个地方是实体。 DDD 将这个概念命名为“有界上下文”或“域”。

我认为您的困惑是由于缺乏前期设计以及没有正确定义这些“有界上下文”。

关于entity - 差异聚合根/实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25747767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com