2

这个问题类似于:DDD 中是否存在应用程序事件术语?,但我不知道如何将那里给出的解释应用于我的具体问题。

我有一个SearchFilmUseCase事件,我想在FilmSearchedEvent它完成执行后引发一个事件。目前,应用层正在引发事件。我可以从域中引发此事件的唯一方式是在FilmRepository. 但是,存储库只是一个接口,所以我不能在那里引发任何事件。

我认为在应用层提出事件是不正确的。我该如何处理这种情况?

4

2 回答 2

2

一种解决方案可能是创建域服务来执行搜索并引发事件。

于 2021-01-03T06:52:18.497 回答
1

所有领域事件都必须从领域层引发。最好的地方是真正应该完成操作的聚合根。聚合根可以包含所有已引发的域事件,并且在应用程序层中,您可以获取它们并将它们发布到事件总线。

于 2021-01-01T13:09:39.327 回答