제한된 컨텍스트에서 집계 루트 키를 재사용 하시겠습니까?
질문에서 알 수 있듯이 이것이 나쁜 습관입니까? 사용자 인증을 위해 ID의 제한된 컨텍스트에 사용자 집계 루트가 있습니다. 이 제한된 컨텍스트에는 사용자 식별과 관련된 사용자 필드가 있습니다 (예 : 이메일, salted pw 등).
알림 처리를위한 일반 하위 도메인도 있습니다. 이 맥락에서 사용자는 Notificant입니다. 이 컨텍스트에서 Notificant에는 읽지 않은 알림 수, lastRead 등의 필드가 있습니다.
User와 Notificant 사이에 일대일 대응이 있다는 것을 알고 있으므로이 경우 사용자 ID를 재사용하는 것이 좋습니까? 아니면 사용자를 참조하는 Notificant 루트에 필드가 있어야합니까? 중복 된 느낌이 들기 때문입니다. 왜냐하면 두 사람의 관계가 대칭이라는 것을 알고있을 때지도를 찾아야하기 때문입니다.
답변
3 Christophe
아니요, 다른 컨텍스트에서 다른 객체를 식별하기 위해 집계 루트 키를 재사용하지 마십시오!
왜?
- a
Notificant
는User
. 아마도 오늘날 대부분의 사용자는 알림을받습니다. 그러나 내일 시스템을 사용하지 않는 제 3 자 또는 자동 모니터링 시스템을 알려야 할 수도 있습니다. - 다른 경계 컨텍스트이기 때문에 경계 컨텍스트는 독립적으로 진화 할 수 있습니다. 어쩌면 오늘
User
과Notificant
같은 단위를 공유하고 직접 일대일로 관련이있을 수 있습니다. 하지만 내일에 대해 누가 압니까? 따라서 어떻게 관련되어야하는지 신중하게 생각해야합니다.