【发布时间】:2018-05-10 09:53:35
【问题描述】:
好的,我很欣赏标题听起来很奇怪。一个事件应该总是针对已经发生的事情,例如。 OrderCreated、ParcelShipped 等。
但是,我想知道是否有人对以下问题有任何想法。
考虑一个对人员及其工作进行建模的 HR 应用程序。为简单起见,一个人可以拥有一堆工作,并且可以在某个日期结束。这个人有一个 EndJob 操作,它需要一个 endDate。
如果 endDate 在未来,领域事件会是什么?
JobEndedEvent(这不是真的)
JobEndDateAddedEvent(这很技术性)
其他有界上下文中的消费者会很想知道作业将要结束,但也可能希望在作业结束时也得到通知。我觉得后者应该是消费者的责任,而不是来源的责任。
欢迎提出任何想法...谢谢。
【问题讨论】:
-
为什么不
JobEndingEvent?它表示“结束工作”的过程已经开始,但尚未完成,当它实际发生时将紧跟JobEndedEvent(如果项目被取消或工人被解雇,也可能更早发生表现不佳) -
感谢大家的回复。我觉得我可能没有完全表达我的问题的意图。虽然这个名字很有趣。我也有兴趣探索源 BC 是否也应该在工作结束时引发事件。即 2 个事件,JobCompletionSchdule(不是)和 JobEnded(在作业结束时)。
标签: domain-driven-design bounded-contexts domain-events