Из того, что я понял, так как я задал вопрос, это то, что случаи, когда человеку (партии) нужно знать обо всех ролях, которые она играет, редки.
Какой инвариант был бы у человеканужно сохранить все роли, которые он играет?
Таким образом, в основном DDD сказал бы, что Person не нужно знать обо всех ролях, которые он играет в различных BC.
В моем примере выше, класс Customerв CRM BC будет знать о Человеке (партии), для которой он играет роль.
, а также класс пациента в ограниченном контексте управления больницей (HM) будет знать о Человеке (партии), для которогоэто играет роль.
Однако класс Person не будет знать ни о классе Customer, ни о классе Patient.
Фактически класс Person в BC CRM может сильно отличаться от класса Person в BC HM., основанный на UL (Ubiquitous Language).
И способ, которым эти классы Person из разных контекстов будут относиться друг к другу, использует программный идентификатор.
См. эту книгу здесь для более подробной информации.
Спасибо