【发布时间】:2018-07-09 16:05:25
【问题描述】:
域事件是一种很好的方式来传播已经发生的事情,以便以后可以发生其他事情。据我了解,跨界上下文使用领域事件非常棒。
假设我们正在创建一个问答网站,例如 Stack Overflow。有users那个帖子questions,有问题可以closed。
以下是此类应用程序中一些可能的命令:
- 提问
- 关闭问题
- 禁止用户
域要求规定,如果用户被禁止,则必须关闭他们的所有问题。
当欺诈检测服务检测到用户是欺诈时,应该禁止该用户并关闭他的所有问题。这个fraud detection service 可以调用ban user service,而后者又调用close all of user's questions 服务吗?
我们不想重复我们已经创建的所有“关闭”逻辑。是否只建议调度“UserBannedEvent”之类的事件,并让监听器调用close all of user's questions 应用程序服务?或者一个人可以打电话给另一个人?
【问题讨论】:
标签: design-patterns architecture domain-driven-design