Какой проект в решении добавить доменную службу, которая охватывает две совокупности? - PullRequest
0 голосов
/ 15 марта 2020

В настоящее время у меня есть два проекта в одном решении Visual Studio. Каждый проект представляет отдельную совокупность. Мне нужно добавить доменную службу, которая взаимодействует с двумя совокупными корнями. К какому проекту я должен добавить это? Это имеет значение?

Ответы [ 2 ]

2 голосов
/ 16 марта 2020

Если ваши агрегатные корни оба принадлежат одному и тому же ограниченному контексту, то ваши агрегатные корни, вероятно, должны быть в одном проекте; иначе доменная служба может быть в другом проекте, который ссылается на два совокупных проекта root, но довольно быстро станет громоздким. Проекта домена для ограниченного контекста должно быть достаточно.

Однако, если два агрегатных корня находятся в отдельных ограниченных контекстах, тогда «самым простым» будет использование какой-либо формы обмена сообщениями и наличие диспетчера процессов в дескрипторе уровня оркестровки. взаимодействие между различными конечными точками ограниченного контекста. Для этого у меня обычно есть B C специфицированные c конечные точки оркестровки и B C специфицируемые c "функциональные" конечные точки, где функциональная конечная точка обрабатывает B C специфические c функции. AB C специфицированная c конечная точка оркестровки, однако, содержит B C специфицированные c менеджеры процессов, но обычно взаимодействует с другими функциональными конечными точками с любого B C, для которого требуется выполнение сервиса.

1 голос
/ 17 марта 2020

Представьте, что вы создаете приложение для электронной коммерции. В вашем случае, когда вы создаете продукт, данные должны быть разложены с помощью микроконтроллеров пользовательского интерфейса, которые относятся к их ограниченному контексту (доставка, выставление счетов) (например, гиены) и отправляют интересующую их информацию в хранилище данных ограниченного контекста для дальнейшего использования их возможностей. В качестве изолированного модуля для доставки, чтобы рассчитать стоимость доставки, мне нужен вес продукта, поэтому я должен отобрать эту информацию, когда пользователь вводит эти данные в пользовательский интерфейс.

https://www.youtube.com/watch?v=hev65ozmYPI - Проверка из этой ссылки.

...