이벤트 소스로 연결된 집계 백엔드를 사용하여 DDD 원칙에 따라 구축 된 환경에서 aggregate roots (AR)을 서로 어떻게 구분해야합니까?CQRS + DDD + 이벤트 소싱의 Inter-Aggregate 통신
예를 들어 Booking
AR을 생성하는 팩토리 메소드가있는 Facility
집계 루트 (AR)가 있습니다. Booking
은 AR (Person
AR)과 Facility
AR (AR)의 시간에 민감한 조합입니다. Person
은 단 하나의 Facility
으로 예약 할 수 있습니다.
DDD에서 Booking
에 대한 참조는 Person
이고 Person
은 Facility
입니다. 그러나 이벤트 소싱에 사용할 이벤트를 생성 할 때 백엔드에서 이벤트 deserialization을 처리하는 것은 금지됩니다. 그러므로 나는 값 객체 기반 고유 ID에 대한 참조 만 가지고있다. AR에 대한 메소드가 다른 AR에서 다른 메소드를 호출 할 필요가있을 때 이것은 새로운 문제를 야기합니다. 어떻게 그 상황을 처리합니까? 도메인 AR에서 이벤트 소스 저장소를 조회 하시겠습니까?
이 시나리오의 일반적인 사용 사례는 무엇입니까? 나는이 모든 잘못에 접근하고 있는가?
좋은 답변 -이 주제에 대해 자세히 알고 싶다면이 게시물이 도움이 될 것입니다. [이벤트 공급 시스템의 Intergregate Communication] (http://danielwhittaker.me/2014/11/22/) 4-secrets-inter-aggregate-communication-event-sourced-system /) – Codescribler