Гексагональная архитектура

Порты и адаптеры - подход, который позволяет построить более гибкую архитектуру, со слабой связанностью между слоями.

🧠Доменная модель - цифровая копия предметной области: - Самый слабо изменяемый слой. - Зависимость только в пределах своей доменной модели. - Может выступать композитом.

🏗️Слой Application - «чистые функции», оперирующие доменной моделью: - Средне изменяемый слой, закрывающий бизнес-сценарии. - Оперирование только собственным слоем или доменной моделью. - Основные зависимости DI через порты, которые реализуются в адаптерах.

🔌 Кухня адаптеров не видна за ее пределами - Самый изменяемый слой приложения. - Адаптеры реализуют функциональность портов уровня Domain или Application на уровне IN/OUT. - Адаптеры ничего не знают про другие адаптеры.

Что для себя отметил в этом типе архитектуры: 🌀Гибкость – разделение логики и инфраструктуры, упрощает тестируемость и ремонтопригодность. 🚀Производительность – дополнительный слой абстракции может влиять скорость в нагруженных системах. 🚪Порог входа – не просто разобраться в зависимостях на старте, порты и адаптеры увеличивают объем кода и требуют высокой дисциплины команды.

Вообще, данный вид архитектуры мне симпатизирует, но стоит понимать что нет серебряной пули и все зависит не только от зрелости команды, но и от размера проекта. Как известно, все проблемы разработки решаются введением нового уровня абстракции, но кто будет исправлять и это…😉😀

#dev #ddd #softwareengineering
Гексагональная архитектура | Сетка — новая социальная сеть от hh.ru
repost

72

input message

напишите коммент

еще контент автора

еще контент автора

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь