Wydarzenia aplikacji w DDD?

Jan 01 2021

To pytanie jest podobne do: Czy istnieje termin zdarzenia aplikacji w DDD? , ale nie wiem, jak zastosować podane tam wyjaśnienia do mojego konkretnego problemu.

Mam SearchFilmUseCasei chcę wywołać zdarzenie FilmSearchedEventpo zakończeniu jego wykonywania. Obecnie warstwa aplikacji podnosi poziom zdarzenia. Jedyny sposób, w jaki mogę zgłosić to zdarzenie z domeny, to FilmRepository. Jednak repozytorium to tylko interfejs, więc nie mogę tam wywołać żadnego zdarzenia.

Myślę, że podnoszenie zdarzenia w warstwie aplikacji nie jest poprawne. Jak mam podejść do tej sytuacji?

Odpowiedzi

2 choquero70 Jan 03 2021 at 13:52

Jednym z rozwiązań mogłoby być utworzenie usługi domeny w celu przeprowadzenia wyszukiwania i wywołania zdarzenia.

1 Albert Jan 01 2021 at 20:09

Wszystkie zdarzenia domeny muszą być wywoływane z warstwy domeny. Najlepszym miejscem jest zagregowany katalog główny, w którym należy naprawdę wykonać akcję. Zagregowany katalog główny może zawierać wszystkie zgłoszone zdarzenia domeny, aw warstwie aplikacji można je pobrać i opublikować w magistrali zdarzeń.