我有一个类似于here的示例:
实体的身份可以跨多个微服务或绑定 上下文。
相同的标识(即相同的ID值,尽管可能不同) 相同的领域实体)可以跨多个有界建模 上下文或微服务。但是,这并不意味着相同 具有相同属性和逻辑的实体将在 多个有界上下文。相反,每个有界上下文中的实体 将其属性和行为限制为该范围内所需的属性和行为 上下文的域。
例如,买方实体可能拥有大多数人的 在个人资料中的用户实体中定义的属性,或 身份微服务,包括身份。但是买方实体 订购微服务可能具有较少的属性,因为仅 某些买家数据与订单流程有关。的上下文 每个微服务或边界上下文都会影响其域模型。
就我而言,我有一个Subscription
模型,其中两个不同的有界上下文具有各自的属性。
再往前走,Subscription
属于Agency
,而Agency
只能有一个Subscriptions
(不是0,不是很多)。
因此,基于此,我一直在思考聚合ID将是什么。由于Subscription
与Agency
具有1-1映射,是否可以使用与Agency
相同的ID?
我认为这很有意义,因为Subscription
不需要它自己的ID。即使我认为它不会退还给用户,用户也可以通过拥有的Agency
ID来引用它。
在这种有限的上下文中,Agency
聚合(或其属性)不相关,所以我不认为它们是同一聚合的一部分。
总而言之,如果聚合是1-1映射,则可以共享另一个聚合的ID吗?
答案 0 :(得分:0)
我不认为实际的实施Id
确实很重要。共享标识符应该很好。
这与“在BC之间拆分汇总”有些不同,您肯定会 不想这样做:)
一个BC中的聚合将由id表示或作为另一个BC中的值对象。任何集合的记录系统应该只有一个BC。