Làm cách nào để tách biệt aggregate roots (AR) giao tiếp với nhau trong môi trường được xây dựng trên nguyên tắc DDD bằng cách sử dụng tổng hợp dựa trên sự kiện?Liên lạc tổng hợp trong CQRS + DDD + Sự kiện Sourcing
Ví dụ: tôi có Facility
gốc tổng hợp (AR) có phương thức nhà máy chịu trách nhiệm tạo Booking
AR. Các Booking
là một sự kết hợp thời gian nhạy cảm của một Person
AR và một Facility
AR. Chỉ có thể đặt Person
trong một đơn Facility
.
Trong DDD, tôi có thể đã tham chiếu đến số Booking
trong Person
và Person
trong Facility
. Tuy nhiên, khi tạo các sự kiện để sử dụng trong sự kiện tìm nguồn cung ứng, tôi nghĩ rằng cố gắng để xử lý sự kiện deserialization từ back-end sẽ trở thành cấm. Vì vậy, tôi đã thực hiện để chỉ giữ các tham chiếu đến giá trị của đối tượng dựa trên id duy nhất. Tuy nhiên, điều này sẽ dẫn đến một vấn đề mới, khi một phương thức trên AR cần gọi một phương thức khác trên AR khác - làm thế nào để bạn xử lý tình huống đó? Nhấn kho lưu trữ nguồn sự kiện từ AR miền?
Trường hợp sử dụng chung trong trường hợp này là gì? Tôi có tiếp cận điều này không?
Câu trả lời hay - nếu bạn tình cờ tìm kiếm thêm chiều sâu về chủ đề này, bạn có thể thấy bài đăng này hữu ích: [Liên kết tổng hợp trong một hệ thống tổ chức sự kiện] (http://danielwhittaker.me/2014/11/22/ 4-bí mật-liên-aggregate-truyền thông-sự kiện-sourced-hệ thống /) – Codescribler