Конструкция, управляемая доменом (DDD), может ли мой домен иметь ссылку на RabbitMQ или любой другой пакет nuget? - PullRequest
0 голосов
/ 07 ноября 2018

Я новичок в DDD, и у меня возник вопрос о реализации, которую я недавно сделал. Пользовательский уровень моего проекта DDD запрашивает у прикладного уровня объект типа IModel для подключения к RabbitMq Brooker. Затем прикладной уровень запрашивает у службы доменного уровня IModel, который, в конце концов, делегирует Infra Layer эту задачу (через реализацию интерфейса). Он работает нормально, но вопрос в следующем: противоречит ли принцип DDD уровню домена знание другого проекта? Несмотря на то, что это проект пакета Nuget.

1 Ответ

0 голосов
/ 08 ноября 2018

Да. Слой домена должен быть центром вашей архитектуры, и он заботится только о правилах и инвариантах домена. Вся координация и сантехника должны идти на прикладном уровне.

Хорошее начало - Луковая архитектура или Шестиугольная архитектура

Также проверьте этот пост DDD Decoded (стоит взглянуть на полную серию DDD Decodes), чтобы увидеть реализацию того, как использовать прикладной уровень для координации бизнеса со всеми другими вещами.

...