Tôi đặt Trình xử lý sự kiện miền trong lớp Miền làm giao diện miền IDomainEventHandler
.
Một ví dụ về Trình xử lý sự kiện miền là một chính sách đăng ký một sự kiện tên miền nhất định để khởi tạo một giao dịch mới (ví dụ: để kích hoạt lệnh miền mới), do đó, có ý nghĩa khi có nó trong lớp Miền vì nó liên quan đến logic kinh doanh.
Chúng ta có thể nghĩ về một ví dụ nơi đơn hàng được xác nhận và do đó yêu cầu hóa đơn phải được tạo. Chúng tôi có một sự kiện OrderConfirmedEvent
đã xảy ra. Một chính sách trong miền của chúng tôi sẽ chịu trách nhiệm đăng ký sự kiện này và tạo một lệnh miền RequestInvoice
sẽ được xử lý bởi trình xử lý lệnh và xử lý theo đó.
Nếu chúng ta có trình xử lý sự kiện này trong lớp ứng dụng, điều đó có nghĩa là lớp ứng dụng, ngoài việc phối hợp các hành động của người dùng, sẽ thực thi một số logic nghiệp vụ, có vẻ không chính xác.
Tuy nhiên chúng tôi có