Перейти к содержимому

[VDBUH2026] Джордж Патрашку — Порты, адаптеры и другие способы предотвратить сбои в вашей бизнес-...

Devoxx

0:00 / 0:00

[VDBUH2026] Джордж Патрашку — Порты, адаптеры и другие способы предотвратить сбои в вашей бизнес-...

1 096 просмотров · 3 месяца назад
Devoxx
171 тыс. подписчиков
1 096 просмотров · 3 месяца назад
Вашей бизнес-логике не должно быть важно, взаимодействует ли она с базой данных SQL, темой Kafka или REST API — но в большинстве кодовых баз это не так. В микросервисной архитектуре эта взаимосвязь становится особенно болезненной: по мере развития сервисов и изменения версий API вам приходится вносить изменения в бизнес-логику, чтобы просто идти в ногу с изменениями инфраструктуры. В этом докладе мы рассмотрим гексагональную архитектуру (порты и адаптеры) как практическое решение этой проблемы. Мы начнем с вопроса «почему»: не для того, чтобы отвергнуть традиционные многоуровневые архитектуры — они решают реальные проблемы, и это модель, которую мы используем во многих наших собственных сервисах, — а чтобы рассмотреть конкретные недостатки, которые возникают по мере роста систем. Где взаимосвязь инфраструктурных задач с бизнес-логикой начинает создавать проблемы? Гексагональная архитектура не отбрасывает многоуровневость; она совершенствует её, предлагая целевые решения именно этих проблемных моментов. Далее мы рассмотрим основные концепции паттерна — порты, адаптеры и ядро ​​приложения. Но это не будет пошаговым руководством. Всё, что вы увидите, основано на реальном опыте работы в производственной среде. Мы поделимся проблемами, с которыми столкнулись, ошибками, которые совершили, и компромиссами, которые пришлось преодолевать, — включая прагматичные и догматичные решения, которые постоянно возникают на практике (должен ли ваш ORM проникать в вашу доменную модель? Зависит от ситуации). Вы уйдете с: – Четкой ментальной моделью гексагональной архитектуры и когда стоит к ней стремиться – Конкретными примерами кода портов и адаптеров в действии, написанными на C# – Различными подходами к структурированию вашего проекта (и когда следует выбирать каждый из них) – Честным взглядом на компромиссы, в том числе, когда не следует использовать этот шаблон Независимо от того, создаете ли вы новый сервис или работаете над существующим, этот доклад предоставит вам практические инструменты для повышения отказоустойчивости, тестируемости и независимости вашей бизнес-логики от окружающей инфраструктуры.