Trong tất cả các ví dụ về CQRS tôi đã thấy, các sự kiện miền kích hoạt cập nhật cho mô hình đã đọc nhưng không có gì khác. Nhưng điều gì xảy ra khi bạn muốn một sự kiện miền gây ra các thay đổi khác trong miền?Sự kiện miền kích hoạt các thay đổi tên miền khác trong CQRS
Ví dụ, giả sử bạn có các yêu cầu sau:
- khi nút "đóng tài khoản" được nhấp, đóng tài khoản
- khi tài khoản được payed tắt, đóng tài khoản
- khi tài khoản bị đóng, đánh dấu chủ sở hữu tài khoản là "đặc biệt"
Cách tốt nhất để xử lý vấn đề này là gì?
- Hãy Account.Close() tạo ra một sự kiện AccountClosed và cũng đánh dấu chủ sở hữu là "đặc biệt"
- Hãy một handler AccountClosed đánh dấu chủ sở hữu là "đặc biệt"
- Hãy một handler AccountClosed rằng nộp một lệnh MarkOwnerAsSpecial
- Tận dụng bộ xử lý lệnh đó đóng tài khoản cũng đánh dấu chủ tài khoản là "đặc biệt"
Tôi đã đọc điều đó trước đây nhưng nó quá trừu tượng đến mức tôi không hiểu cách sagas cơ bản biến các sự kiện thành các lệnh. Tôi tìm thấy một phần 2 bài viết giải thích rằng và có mẫu mã. http://blog.jonathanoliver.com/2010/09/cqrs-sagas-with-event-sourcing-part-i-of-ii/ –
@TrystanSpangler Liên kết đó đưa ra 404 và dường như đã được chuyển đến http://blog.jonathanoliver.com/cqrs-sagas-with-event-sourcing-part-i-of-ii/ – Melle