域驱动的编程和事件

Rom*_*man 5 asp.net-mvc domain-driven-design

我正在使用DDD进行一些asp.net mvc编码.我有对象代表处理提取和添加它们的业务实体和服务存储库.我是新手,随着我的应用程序的增长,我开始看到很多辅助代码必须由于添加,删除或更改我的域对象/数据而运行.

我想创建一个事件驱动的系统,其中一个动作触发其他代码部分运行.例如,当我删除用户时,我希望能够为此操作订阅许多其他内容,以便在删除发生时运行它们.

您是如何编写应用程序来处理这些情况的?如何为我的问题建立可靠和连贯的OO系统?我已经了解了事件和代表,但我对编码技术和良好实践更感兴趣.

Arn*_*psa 8

您可能想要查看的是所谓的域事件.基本上,想法是域模型本身触发域特定事件(例如CustomerRegistered),并且几乎任何你喜欢的东西都可以订阅它们以在域之外做其他事情.

Udi Dahan写了一些很好的文章:第1,第2,第3.

此外 - Szymon的示例应用程序对此非常明确.

CQRS很棒,但它影响整个架构.可能是一个矫枉过正的人.