在我的域中,我有一个名为AggregateRoot的用户和一个名为Register_Cedro_Services的子实体。
子实体是从SAGAS Orchestrator更新的,后者管理第三家公司的用户注册。该实体拥有从第三家公司返回的数据。
如果将根设置为引用子实体,并且有一天我的组织离开另一个实体,我将不得不更改我的代码和用户表。在这种情况下,我不会刹车的开放/关闭原则?
因此,如果我将我的子实体设置为引用根,我就不会有这个问题。
发布于 2020-07-22 22:46:35
如果我正确理解:您有一个用户聚合,根据它的外观,它有一个名为"Register_Cedro_Services“的命令(因为它是一个动词),它将向用户聚合中添加某种类型的子记录。这将由一场传奇事件引发。
但是,您已经将其建模为聚合将持有子实体的引用键的方式。这是非常不寻常的,我不建议这样做。子实体应该具有聚合的引用键。
另外,您似乎担心存储在子实体中的数据包含第三方提供的数据?如果您已经使用了您的反腐败层,那么就没有问题了。
最后,我有一个印象,你正试图在未来证明你的解决方案。这真的是必需的吗?在软件工程中,将来的打样与过度工程密切相关,被认为是一种不好的做法。
https://stackoverflow.com/questions/63041871
复制相似问题