聚合根 DDD/UoW/Repo/Service
Aggregate Roots DDD/UoW/Repo/Service
我对存储库的聚合对象有一些疑问。
我正在使用 DDD/UoW/Repo 和服务模式制作休息服务。我们新的云网络应用程序将使用此服务。为此,我们还必须从仍在生产中的旧数据库同步数据。我们创建了一个 "SyncService" 读写 to/from 云端和地球。
在我的Rest/DDD-design。而且我不希望业务逻辑在这些上 运行,所以在原始测试项目中,我为每个模型都有一个存储库,端点只是做一些简单的验证并使用存储库将数据直接推送到数据库.
假设我有这些实体:
- 客户
- 订单
- 订单行
- 文章
D数据库关系:
一个客户可以有多个订单。
一个订单只能有一个客户。
一个订单可以有多个订单行。
一个OrderLine可以有一个Article。
问题:
除了Article这些都是聚合体吗?
这些实体中的哪些会有存储库?
存储库会是什么样子?
我是否应该让 "SyncService" 的端点只与通用存储库对话以进行插入?
提前致谢。
Are all of these aggregates except Article?
我认为如果不访问业务逻辑并了解整个域的外观,就不可能回答这个问题。例如。在某些系统中,Customer
可能是一个集合,而 Order
只是一个实体,在其他一些倒退的系统中。
这个决定应该由架构师做出。
2,3,4。如果您使用 DDD,则可以通过聚合访问您的实体。我会说使用存储库模式的概念是可选的。在某些情况下,您可以只使用纯数据库上下文,例如例如,如果您使用 Entity Framework Core,则不必在其上构建额外的存储库层,因为它本身就是一个存储库。所以这些问题的答案是——这一切都取决于。
我对存储库的聚合对象有一些疑问。
我正在使用 DDD/UoW/Repo 和服务模式制作休息服务。我们新的云网络应用程序将使用此服务。为此,我们还必须从仍在生产中的旧数据库同步数据。我们创建了一个 "SyncService" 读写 to/from 云端和地球。
在我的Rest/DDD-design。而且我不希望业务逻辑在这些上 运行,所以在原始测试项目中,我为每个模型都有一个存储库,端点只是做一些简单的验证并使用存储库将数据直接推送到数据库.
假设我有这些实体:
- 客户
- 订单
- 订单行
- 文章
D数据库关系:
一个客户可以有多个订单。
一个订单只能有一个客户。
一个订单可以有多个订单行。
一个OrderLine可以有一个Article。
问题:
除了Article这些都是聚合体吗?
这些实体中的哪些会有存储库?
存储库会是什么样子?
我是否应该让 "SyncService" 的端点只与通用存储库对话以进行插入?
提前致谢。
Are all of these aggregates except Article?
我认为如果不访问业务逻辑并了解整个域的外观,就不可能回答这个问题。例如。在某些系统中,Customer
可能是一个集合,而 Order
只是一个实体,在其他一些倒退的系统中。
这个决定应该由架构师做出。
2,3,4。如果您使用 DDD,则可以通过聚合访问您的实体。我会说使用存储库模式的概念是可选的。在某些情况下,您可以只使用纯数据库上下文,例如例如,如果您使用 Entity Framework Core,则不必在其上构建额外的存储库层,因为它本身就是一个存储库。所以这些问题的答案是——这一切都取决于。