首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DDD:将域事件放置在何处

DDD:将域事件放置在何处
EN

Stack Overflow用户
提问于 2013-05-14 09:52:26
回答 2查看 1.8K关注 0票数 3

我刚读了弗农的书“实现领域驱动的设计”。我找不到的是,将您的领域事件的类放在哪里。

  • 在与聚合相同的命名空间中?
  • 在像<aggregate-namespace>.Events这样的子模块中
  • 或者hybird:相同的命名空间,但是是物理的Events子目录。

这不是什么大问题,但我很高兴知道你们中的一些人做了什么,结果如何。

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-14 11:22:32

对于我的服务总线消息,我有一个独立的程序集(在C#世界中),类似于MainNamespace.Messages。任何需要跨越线路的域事件也将出现在该程序集中。

但是,如果您打算将域事件映射到服务总线事件,则域事件可能位于域程序集中。

票数 1
EN

Stack Overflow用户

发布于 2019-11-11 14:27:25

我的理解是,域事件应该位于域层(如果使用.NET,则是域项目/程序集)。

域层中的位置取决于您如何构造项目。有的做技术分组,有的做聚合分组)。

示例(技术分组):

代码语言:javascript
复制
Domain
 Events
    InvoiceCreated
 Models
    InvoiceModel
 OrderAggregate

示例(按聚合进行逻辑分组):

代码语言:javascript
复制
Domain
 OrderAggregate
    OrderAggregate
    InvoiceCreated
    InvoiceModel

然后,在应用层中放置域事件处理程序。

代码语言:javascript
复制
Application
 Controllers
 EventHandlers
    InvoiceCreatedHandler
 Models
 Views
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16540064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档