Я ищу некоторые рекомендации или лучшие практики по настройке и структурированию приложения, которое соответствует гексагональной архитектуре, которая поддерживает несколько адаптеров (драйверов) одновременно.
Мой API / уровень приложения / порты представляют собой границы приложения. Сейчас я пишу адаптеры драйверов с целью, чтобы приложение поддерживало как адаптер консоли / интерфейса командной строки, так и адаптер REST в тандеме.
Есть ли у кого-нибудь мысли о подходах к основному компоненту, который настраивает и связывает приложение вместе?
Единый главный компонент, который настраивает все приложение: включая все основные адаптеры. Вместе с загрузкой конфигурации приложения. В этом случае он запустит службы REST и запустит консольное приложение CLI.
Отдельный основной компонент для каждого типа основного адаптера. т.е. Один для приложения REST. Один для приложения CLI / Console. Меня беспокоит то, что это приведет к большому дублированию настройки приложения в пределах границ (например, служб API, репозиториев и т. Д.).
Следуйте описанному выше подходу, но извлеките общую конфигурацию / проводку в общий класс.
Если у кого-то есть какие-то примеры, которыми они могли бы поделиться, было бы интересно посмотреть.
Ваше здоровье,
Стив