Events DDD中的应用程序事件?

Events DDD中的应用程序事件?,events,domain-driven-design,domain-events,hexagonal-architecture,Events,Domain Driven Design,Domain Events,Hexagonal Architecture,这个问题类似于:,但我不知道如何将这里给出的解释应用于我的具体问题 我有一个SearchFilmUseCase,我想在它完成执行后引发一个事件FilmSearchedEvent。目前,应用层正在引发该事件。我可以从域引发此事件的唯一方式是在FilmRepository中。然而,存储库只是一个接口,所以我不能在那里引发任何事件 我认为在应用层引发事件是不正确的。如何处理这种情况?必须从域层引发所有域事件。最好的地方是聚合根,在那里应该真正执行操作。 聚合根目录可以包含已引发的所有域事件,在应用程序

这个问题类似于:,但我不知道如何将这里给出的解释应用于我的具体问题

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


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

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

一个解决方案可以是创建域服务以执行搜索并引发事件