【发布时间】:2021-02-06 12:43:33
【问题描述】:
我创建了一个基于 DDD 和六边形架构并结合 CQRS(无 ES)的应用程序。
我被困住了。
在一个有界上下文中,我有层:
- 域,
- 应用,
- 基础设施,
- UI.
我认为这是一个相当普遍的解决方案。
目前,应用程序的任何元素都没有超出其层。我相信我根据所有建议明智地分配了所有内容。
因此,我不打算在这里描述给定层中包含的内容。
但是,我很难为某些元素找到合适的位置。
那么如何处理生成 slug 和 UUID 的类?
也许我知道的太少,但根据收集到的知识,我在上述任何层中都看不到它们的位置。 另外,我不想创建类似“共享”或“通用”层的东西。 目前我停止了在应用程序中为它们创建接口的解决方案,并将实现留给基础架构。
另一件让我烦恼的事情: 我有警报实体。它负责在系统中显示通知。其中一些是根据类别随机生成的。当我使用 CQRS 时,通知生成器不是从域中获取警报,而是作为查询模型获取警报。
那么哪一层适合这样的生成器呢?这样的生成器可以被视为服务吗?
我指望帮助。
【问题讨论】:
-
这是great post,其中包括作者 2 年后的后续讨论,讨论实用程序/帮助程序类
标签: php domain-driven-design cqrs hexagonal-architecture