我应该如何在 Akka 持久化 (Eventsourcing/CQRS) 中构建我的 Actor?
- 分层的
- 平行
我的电子商务应用程序中有这些域对象
- 用户 - 用户可以创建帐户
- 商店 - 用户可以创建商店
- 产品 - 用户可以将产品添加到它的商店
- 购物车 - 用户可以将其他用户商店中的任何产品添加到购物车中。
所以我的问题是我应该如何构建我的 Actors ?与电子商务领域模型相关的选择其中一个的优点和缺点是什么?
我应该如何在 Akka 持久化 (Eventsourcing/CQRS) 中构建我的 Actor?
我的电子商务应用程序中有这些域对象
所以我的问题是我应该如何构建我的 Actors ?与电子商务领域模型相关的选择其中一个的优点和缺点是什么?
我认为您的问题更多是关于聚合的边界。
无论如何,聚合之间不应该有层次结构。聚合应该彼此独立。没有亲子关系。
根据你的描述。有一个用户聚合可以创建商店并向其中添加产品。
Store 可以是由 User 聚合启动的分离聚合。请注意,用户可以创建商店这一事实并不意味着他们应该具有父/子关系。更多的是关于访问控制。商店由用户创建,只有该用户有权向其中添加产品。
但是,Product 似乎是 Store 聚合中的一个实体。
您的第四个示例,“购物车 - 用户可以将其他用户商店中的任何产品添加到购物车”,揭示了一些完全不同的东西。你有两种用户。创建和管理商店的用户以及给定商店的消费者。它们不一样,应该以不同的方式建模。
尝试对您的业务领域进行建模,而不要仅仅因为它们相似就尝试重用它们。