¿Eventos de aplicación en DDD?

Jan 01 2021

Esta pregunta es similar a: ¿Existe un término de evento de aplicación en DDD? , pero no sé cómo aplicar las explicaciones que se dan allí a mi problema específico.

Tengo SearchFilmUseCasey quiero plantear un evento FilmSearchedEventuna vez que finalice su ejecución. Actualmente, la capa de aplicación está provocando el evento. La única forma en que podría plantear este evento desde el Dominio es en el FilmRepository. Sin embargo, el repositorio es solo una interfaz, por lo que no puedo generar ningún evento allí.

Creo que plantear el evento en la capa de aplicación no es correcto. ¿Cómo puedo abordar esta situación?

Respuestas

2 choquero70 Jan 03 2021 at 13:52

Una solución podría ser crear un servicio de dominio para realizar la búsqueda y generar el evento.

1 Albert Jan 01 2021 at 20:09

Todos los eventos de dominio se deben generar desde la capa de dominio. El mejor lugar es una raíz agregada donde realmente se debe realizar la acción. La raíz agregada podría contener todos los eventos de dominio que se han generado y, en la capa de aplicación, puede obtenerlos y publicarlos en el bus de eventos.