gpt4 book ai didi

design-patterns - 在另一个存储库中使用一个存储库

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

我是 DDD 的新手,我有一个包含用户引用的合作伙伴聚合。User 对象本身是另一个聚合。

由于并非所有用户都必须在 Partner 对象中引用,因此 User 对象是一个聚合根。合作伙伴也是聚合根。

首先:如果一个聚合根包含在另一个聚合根中,我的设计会不会出错?

第二个:如果设计是正确的,那么在另一个存储库中使用一个存储库来持久化合作伙伴是否是一种不好的做法? (PartnerRepository 中的 UserRepository)

Obs:我没有使用任何 ORM 框架。

最佳答案

I am new to DDD...

我将从 DDD 的角度回答这个问题,而不是 OOP(面向对象编程)。

First: Would my design be wrong with one aggregate root inside another?

它不会遵循领域驱动设计的一般准则。如果您想从另一个聚合根引用一个聚合根,您可以通过 id 引用它。

Second: If the design is right, would it be a bad practice to use one Repository inside another to persiste the Partner? (UserRepository inside PartnerRepository)

同样,如果遵循 DDD 的指导方针,您就不会这样做,您将使用单独的存储库分别持久化每个聚合。

Here's a link to an article by Vaughn Vernon ,可能是 DDD 领域第二伟大的人物,可以更好地解释。

关于design-patterns - 在另一个存储库中使用一个存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36575282/

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