聚合根 DDD/UoW/Repo/Service

Aggregate Roots DDD/UoW/Repo/Service

我对存储库的聚合对象有一些疑问。

我正在使用 DDD/UoW/Repo 和服务模式制作休息服务。我们新的云网络应用程序将使用此服务。为此,我们还必须从仍在生产中的旧数据库同步数据。我们创建了一个 "SyncService" 读写 to/from 云端和地球。

在我的Rest/DDD-design。而且我不希望业务逻辑在这些上 运行,所以在原始测试项目中,我为每个模型都有一个存储库,端点只是做一些简单的验证并使用存储库将数据直接推送到数据库.

假设我有这些实体:

D数据库关系:

问题

提前致谢。

  1. Are all of these aggregates except Article?

我认为如果不访问业务逻辑并了解整个域的外观,就不可能回答这个问题。例如。在某些系统中,Customer 可能是一个集合,而 Order 只是一个实体,在其他一些倒退的系统中。 这个决定应该由架构师做出。

2,3,4。如果您使用 DDD,则可以通过聚合访问您的实体。我会说使用存储库模式的概念是可选的。在某些情况下,您可以只使用纯数据库上下文,例如例如,如果您使用 Entity Framework Core,则不必在其上构建额外的存储库层,因为它本身就是一个存储库。所以这些问题的答案是——这一切都取决于。