0

关于整合有界上下文的问题。 例如。我organization ARindentity BC. 而courier service ARlogistics BC. 它们必须连接。

organization AR由组成:

  • 组织 ID
  • 姓名
  • 税法
  • 合法地址
  • ...

courier service AR由组成:

  • CourierServiceId
  • 姓名
  • 交通优先
  • 评分
  • ...

客户在一个请求中发送所有这些信息(姓名、税码、法律地址、TransportationPriority、Rating)。

问题:

  1. 我应该在哪个应用程序中提交创建两个 AR 的请求?
  2. 我应该如何创建两个 AR?在第一个 BC 中创建第一个 AR 后,我应该如何从第二个 BC 创建第二个 AR?

我面临的问题:

起初我想在organization AR创建通知logistics BC和创建时发布域事件courier service AR但是当我在第一个 BC 中发布域事件时,我必须使用语言概念作为TransportationPriority, Rating(在第二个 BC 中创建 AR 所需的)。但这种语言概念并不属于公元前。但是它们被用于其中。据我所知,这是错误的。

那么我该如何解决我的问题呢?对不起,我的英语不好。非常感谢。

4

1 回答 1

1

为什么“它们必须连接”?据我了解,您可以拥有一个带有多个 CourServAR 的 OrgAR。在这里,可以做的事情如下:

  • 用户登陆他放置此信息的页面(您写道,所有数据都放在一起,所以应该使用表单或类似的东西来完成)
  • 他一到那里,我就给了他几个 ID(在 Udi Dahan 的某个帖子中,我现在找不到了)
  • 使用您用于 OrganizationId 和 CourierServiceId 的此 ID,您可以将这两个命令发送到不同的域,而无需使用共享他们不知道/必须使用的数据的事件
    • 当然,可能是存储一个 AR 出错了,所以你需要一种方法来验证数据的完整性(通过作业或类似的东西 - 然后你必须通知用户在此过程中出现问题)

要获得 ID,您可能必须编写两个服务,为 OrgAR 和 CourServAR 提供下一个有用的 ID。

无论如何,这两个 AR 绑定在一起并且您必须将它们存储在一起的事实在我的大脑中发出了警报。

事实上,我会做的是:

  • 确定用户必须真正存储的内容(OrgAR 还是 CourServAR?例如,我采用 OrgAR)
  • 有了这个,创建一个表单来存储 OrgAR
  • 然后,给他存储 CourServAR 的机会
    • 第二个 AR 已经链接到第一个(因为我有它的 ID),我现在需要的是一个命令(在 OrgBC 中),上面写着“assignCourServtoOrg”,它只是绑定了 OrgAR 中的两个 ID
于 2018-02-02T06:49:22.627 回答