5

我应该如何在 Akka 持久化 (Eventsourcing/CQRS) 中构建我的 Actor?

  • 分层的
  • 平行

我的电子商务应用程序中有这些域对象

  • 用户 - 用户可以创建帐户
  • 商店 - 用户可以创建商店
  • 产品 - 用户可以将产品添加到它的商店
  • 购物车 - 用户可以将其他用户商店中的任何产品添加到购物车中。

所以我的问题是我应该如何构建我的 Actors ?与电子商务领域模型相关的选择其中一个的优点和缺点是什么?

akka 演员结构

4

1 回答 1

3

我认为您的问题更多是关于聚合的边界。

无论如何,聚合之间不应该有层次结构。聚合应该彼此独立。没有亲子关系。

根据你的描述。有一个用户聚合可以创建商店并向其中添加产品。

Store 可以是由 User 聚合启动的分离聚合。请注意,用户可以创建商店这一事实并不意味着他们应该具有父/子关系。更多的是关于访问控制。商店由用户创建,只有该用户有权向其中添加产品。

但是,Product 似乎是 Store 聚合中的一个实体。

您的第四个示例,“购物车 - 用户可以将其他用户商店中的任何产品添加到购物车”,揭示了一些完全不同的东西。你有两种用户。创建和管理商店的用户以及给定商店的消费者。它们不一样,应该以不同的方式建模。

尝试对您的业务领域进行建模,而不要仅仅因为它们相似就尝试重用它们。

于 2015-12-06T22:10:59.090 回答