管理 DDD 中聚合之间的'用户”实体
P粉775788723
P粉775788723 2024-04-04 09:54:15
0
1
581

我正在尝试使用 DDD 和六边形架构将整体式应用程序重写到模块化整体式应用程序上。首先尝试提取三个模块(聚合):“Shared”、“User”和“Article”。

据我正确理解,“用户”和“文章”之间不应创建任何依赖关系。但是,它们都可以使用“共享”模块中的内容。

所以事情是这样的...... “文章”模块具有 Article 实体,该实体与 User 实体相关。从 DDD 的角度来看,它是特定文章的创建者。将会有更多类似的模块与 User 实体作为资源的作者或所有者相关。

应该如何实施?是否应该将其移至“共享”?不幸的是,找不到任何特定的资源。 Github 主要包含具有单个聚合的项目,并且没有诸如 User 实体之类的项目。

P粉775788723
P粉775788723

全部回复(1)
P粉215292716

我一直在寻找解决此类问题的不同方法。你可以创建一个共享聚合,没有人可以说这是错误的。但是,我认为最好的解决方案是您创建一个 Person (或 People)聚合,其中您可以有一个与 ArticleEntity 相关的 PersonEntity (或 AuthorEntity),聚合之间的关系没有问题,但我建议您尝试仅在聚合之间创建关系根。

这是 Eric Evans 蓝皮书的样本

请注意,Voyage 是 Aggregate Voyage 中的 AggregateRoot,它与 Location 聚合的 AggregateRoot Location 存在关系。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!