我的系统的语言为" Contact"这是一种幽灵用户"我们有一些信息 - 它的验证规则很渺茫,而且它的状态主要是联系信息。我们还有一个" User"这是一个经过全面审查和注册的用户。想想"用户"作为一个充实的"联系"。
我们试图捕获的生命周期是"联系人"将被" User"取代一旦有人注册了这个"联系人的信息。
我们在系统中有其他聚合根,它们引用了一个" ContactId"指向"联系人"的UUID。当那个"联系"寄存器,我们想要使用" User"的新概念。在域中表示他们和"用户"现在拥有它自己的用户ID" UUID。
作为旁注,我们使用CQRS / ES作为整体架构。
谢谢!
答案 0 :(得分:2)
你所描述的实际上并不那么奇怪,因为它一直在发生。
您可以ShoppingCart
成为Quote
成为Order
的{{1}}。
尝试合并概念通常会导致痛苦和痛苦。
我建议将它们分开并用它们自己的生命周期处理它们,因为它们可能似乎非常密切相关,因为它们当然做似乎是彼此不同的概念
您的“幽灵用户”可能有线索。这可能是您之后尚未正确定义的实体/ AR。根据使用方式的不同,处理该概念的方法也不同。它可能像表示两个源实体的枯萎的值对象一样简单。