Sự kiện ứng dụng trong DDD?

Jan 01 2021

Câu hỏi này tương tự như: Có tồn tại thuật ngữ sự kiện ứng dụng trong DDD không? , nhưng tôi không biết làm thế nào để áp dụng các giải thích được đưa ra ở đó cho vấn đề cụ thể của mình.

Tôi có một SearchFilmUseCasevà tôi muốn nâng một sự kiện FilmSearchedEventkhi nó kết thúc quá trình thực thi. Hiện tại, lớp ứng dụng đang nâng cao sự kiện. Cách duy nhất mà tôi có thể nâng cao sự kiện này từ Miền là trong FilmRepository. Tuy nhiên, kho lưu trữ chỉ là một giao diện, vì vậy tôi không thể nêu ra bất kỳ sự kiện nào ở đó.

Tôi nghĩ rằng việc nâng cao sự kiện ở lớp ứng dụng là không đúng. Làm thế nào tôi có thể tiếp cận tình huống này?

Trả lời

2 choquero70 Jan 03 2021 at 13:52

Một giải pháp có thể là tạo một dịch vụ miền để thực hiện tìm kiếm và nâng cao sự kiện.

1 Albert Jan 01 2021 at 20:09

Tất cả các Sự kiện miền phải được nâng lên từ lớp miền. Nơi tốt nhất là một gốc tổng hợp, nơi hành động nên thực sự được thực hiện. Gốc tổng hợp có thể chứa tất cả các sự kiện miền đã được nâng lên và trong lớp ứng dụng, bạn có thể lấy chúng và xuất bản chúng lên bus sự kiện.