gpt4 book ai didi

domain-driven-design - DDD - 实体是否应该有相等比较器

转载 作者:行者123 更新时间:2023-12-01 04:44:04 24 4
gpt4 key购买 nike

埃里克·埃文斯在 plural sight视频说“我已经开始相信一个实体甚至不应该进行平等比较”。

这是否意味着该实体不需要具有必需的 Id 字段(因为它的基础设施问题)。在什么情况下需要实体比较?就像他提到的那样,在大多数情况下可能不需要它。

[编辑] 当我提到不需要 Id 时,它是构建实体的 w.r.t,即我可以只用一个新对象(order = new Order)测试我的逻辑,而无需传递 Guid 或 Id。理想情况下会生成一个用于持久性的 Id db。

最佳答案

从理论上讲,Entity 不应该关心它的 ID;当实体查询或使用自己的 ID 时,我现在没有想到用例。

但是,它的 ID 被外界使用。几乎所有使用实体的客户端代码(演示文稿、应用程序或基础设施)都将使用其 ID。如果没有 ID,客户端代码将无法在所有实体的集合中找到一个实体。

甚至域层代码也使用该 ID。例如,在聚合内部,聚合根在定位嵌套实体时使用 ID,即使它只是一个简单的整数键。

更新:
在现实世界中,作为人类实体的您,在吃喝玩乐或独自做任何事情时是否需要社会安全号码(或您拥有的任何 ID)?不,它在某种程度上与人类有机体工作的业务规则无关。其他人类实体需要您的 ID 才能将您与其他实体区分开来。

关于domain-driven-design - DDD - 实体是否应该有相等比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48395438/

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