Разделение совокупности по ограниченным контекстам - PullRequest
0 голосов
/ 09 июля 2019

У меня есть пример, аналогичный тому, что описано здесь :

Идентификационные данные объекта могут пересекать несколько микросервисов или ограничены контексты.

Та же самая идентичность (то есть, то же самое значение Id, хотя, возможно, не один и тот же объект домена) может быть смоделирован для нескольких ограниченных Контексты или микросервисы. Однако это не означает, что то же самое сущность, с такими же атрибутами и логикой будет реализована в несколько ограниченных контекстов. Вместо этого сущности в каждом ограниченном контексте ограничить их атрибуты и поведение теми, которые требуются в этом ограниченном Домен контекста.

Например, покупатель может иметь большую часть атрибуты, которые определены в пользовательском объекте в профиле или микросервис идентичности, в том числе личность. Но покупатель в заказывающий микросервис может иметь меньше атрибутов, потому что только определенные данные покупателя связаны с процессом заказа. Контекст каждый микросервис или ограниченный контекст влияет на свою модель предметной области.

В моем случае у меня есть Subscription модель, которая имеет два разных ограниченных контекста, которые имеют свои собственные атрибуты.

Если пойти еще дальше, Subscription принадлежит Agency, а Agency может иметь только один (не 0, не много) Subscriptions.

Итак, исходя из этого, я думал о том, каким будет совокупный идентификатор. Так как Subscription имеет отображение 1-1 с Agency, можно ли использовать тот же идентификатор, что и Agency?

Я думаю, что это имеет смысл, поскольку Subscription не нужен собственный идентификатор. Даже если это не так, я не думаю, что оно будет возвращено пользователю, пользователь может ссылаться на него через собственный Agency id.

В этом ограниченном контексте агрегат Agency (или его атрибуты) не имеет значения, поэтому я не верю, что они являются частью одного агрегата.

Подводя итог, можно ли агрегату совместно использовать идентификатор другого агрегата, если это отображение 1-1?

1 Ответ

0 голосов
/ 09 июля 2019

Я не думаю, что фактическая реализация по Id действительно имеет значение.Это должно быть прекрасно для использования идентификатора.

Это несколько отличается от "разделения совокупности по" BC, что вы наверняка бы не хотели бы сделать:)

Агрегат в одном BC будет представлен либо идентификатором, либо в виде объекта значения в другом BC.Только один BC должен быть системой записи любого агрегата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...