где должны быть реализованы порты exaclty? - PullRequest
0 голосов
/ 09 февраля 2019

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

Это правильная реализация. где добавить порты / прослушиватели команд.

1 Ответ

0 голосов
/ 09 февраля 2019

Я выполняю следующее сопоставление между слоями DDD и гексагональной архитектурой:

  • Порты драйвера являются интерфейсами служб приложений DDD, они являются левыми краями шестиугольника.

  • Внутренняя часть шестиугольника разделена на реализацию сервисов приложений DDD и модель домена DDD.

  • Управляемые порты (например, интерфейс репозитория илисервисный интерфейс, который реализуется инфраструктурой), являются правыми краями шестиугольника.

  • Внутри шестиугольника реализованы порты драйвера и используются управляемые порты.

  • Адаптер драйвера (например, контроллер REST API или веб-приложение) использует / вызывает порт драйвера.Адаптеры драйверов являются уровнем представления DDD.

  • Управляемый адаптер реализует управляемый порт.Управляемые адаптеры являются инфраструктурным уровнем DDD.

Если вы хотите взглянуть, вот моя статья, объясняющая гексагональную архитектуру:

https://softwarecampament.wordpress.com/portsadapters

Надеюсь, это поможет.

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