我正在使用DDD进行一些asp.net mvc编码.我有对象代表处理提取和添加它们的业务实体和服务存储库.我是新手,随着我的应用程序的增长,我开始看到很多辅助代码必须由于添加,删除或更改我的域对象/数据而运行.
我想创建一个事件驱动的系统,其中一个动作触发其他代码部分运行.例如,当我删除用户时,我希望能够为此操作订阅许多其他内容,以便在删除发生时运行它们.
您是如何编写应用程序来处理这些情况的?如何为我的问题建立可靠和连贯的OO系统?我已经了解了事件和代表,但我对编码技术和好的做法更感兴趣.
解决方法
您可能想要签出的东西是所谓的
domain events.基本上,想法是域模型本身会触发特定于域的事件(例如CustomerRegistered),并且几乎任何您喜欢的东西都可以订阅它们以在域外执行其他操作.
Udi Dahan写了一些很好的文章:1st,2nd,3rd.
此外–Szymon的sample application对此非常明确.
CQRS很棒,但它影响整个架构.可能是一个矫枉过正的人.