管理 DDD 中聚合之间的“用户”实体
P粉775788723
P粉775788723 2024-04-04 09:54:15
[PHP讨论组]

我正在尝试使用 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 存在关系。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号