Партийная роль и ограниченный контекст

Я пытаюсь использовать партийные вещи и ролевые архетипы из Java Modeling in Color.

Кроме того, я также стараюсь использовать лучшие практики DDD. Теперь предположим, что в моем заявлении есть 1 человек, играющий 2 роли, например, Клиент и Пациент.

Роль клиента используется в ограниченном контексте CRM, а роль пациента - в ограниченном контексте управления больницей.

Мои классы ролей могут получить доступ к деталям Person с помощью слабого идентификатора, объекта значения, который может уникальным образом представлять Person, подробности этого подхода можно найти здесь.

Теперь в архетипе Party Place Thing одной из указанных обязанностей является возможность перечисления ролей, которые играет партия.

Как достичь этого, учитывая, что роли существуют в разных ограниченных контекстах?

Поэтому в идеале Клиент и Пациент не должны существовать в том же Ограниченном контексте, что и Человек

1 ответ

Из того, что я понял, так как я задал вопрос, это то, что случаи, когда человеку (партии) нужно знать обо всех ролях, которые он играет, редки.

Какой вид инварианта нужно человеку, чтобы сохранить все роли, которые он играет?

Так что в основном DDD сказал бы, что Person не нужно знать обо всех ролях, которые он играет в различных БК.

В приведенном выше примере класс Customer в CRM BC знал бы о лице (стороне), для которого он играет роль.

а также класс "Пациент" в ограниченном контексте "Управление больницей" (HM) должен знать о человеке (стороне), для которого он играет роль.

Однако класс Person не будет знать ни о классе Customer, ни о классе Patient.

На самом деле класс Person в BC CRM может сильно отличаться от класса Person в HM BC, основанного на UL (Ubiquitous Language).

И способ, которым эти классы Person из разных контекстов будут связаны друг с другом, - это использование мягкого идентификатора.

Обратитесь к этой книге здесь для получения дополнительной информации.

Спасибо

Другие вопросы по тегам