域事件命名尚未发生的事情

时间:2018-05-10 09:53:36

标签: domain-driven-design bounded-contexts domain-events

好的,我很欣赏这个标题听起来很奇怪。事件应始终是针对已发生的事情,例如OrderCreated,ParcelShipped等

但是,我想知道是否有人对以下问题有任何想法。

考虑一个人力资源应用程序,它可以模拟人员及其工作。为简单起见,一个人可以拥有大量工作,并且可以在某个日期结束。该人有一个EndJob操作,它接受一个endDate。

如果将来是endDate,域事件会是什么?

JobEndedEvent(这不是真的)

JobEndDateAddedEvent(这很技术性)

其他有限背景下的消费者将有兴趣知道约会将会结束,但也可能希望在工作结束时获得通知。我觉得后者应该是消费者的责任,而不是消费者的责任。

欢迎任何想法......谢谢。

1 个答案:

答案 0 :(得分:2)

嗯,从Domain的角度来看,您可能正在谈论JobTerminationScheduledEvent,因为从语言的角度来看,您正在通知其他上下文关于作业结束的安排。

这不是实际的事情,调度可以改变,你将留下其他情况,他们将如何处理这样的信息。给定的上下文可能会认为调度是足够的信息,以考虑作业将在给定日期结束。

另一个背景是,在通知发生此类事件时,他们可能需要仔细检查日期,以确保在采取进一步行动之前没有发生任何变化。

最后,你的背景实际上是在表达所发生的事情:没有具体的。您有为此操作定义的计划日期,但它尚未发生。