我刚读过弗农的书"实施域驱动设计"。我无法找到 来放置您的域名活动。
<aggregate-namespace>.Events
?Events
子目录这不是一个大问题,但知道你们有些人做了什么以及如何解决这个问题会很好。
提前致谢!
答案 0 :(得分:1)
对于我的服务总线消息,我在MainNamespace.Messages
的行中有一个单独的程序集(位于C#世界中)。任何需要通过网络传输的域事件也会在该程序集中。
但是,如果您打算将域事件映射到服务总线事件,则域事件可能位于域程序集中。
答案 1 :(得分:0)
我的理解是,域事件应该在域层中(因此,如果使用.NET,则是域项目/程序集)。
域层中的位置取决于您构造项目的方式。有些会进行技术分组,有些会进行汇总分组。
示例(技术分组):
Domain
? Events
? InvoiceCreated
? Models
? InvoiceModel
? OrderAggregate
示例(按合计逻辑分组)
Domain
? OrderAggregate
? OrderAggregate
? InvoiceCreated
? InvoiceModel
然后在应用程序层中放置域事件处理程序。
Application
? Controllers
? EventHandlers
? InvoiceCreatedHandler
? Models
? Views