advanced

Hexagonal architecture

Размещайте domain и application policy за ports, пока adapters переводят HTTP, database, queue или UI concerns на edge.

Hexagonal architecture ставит domain и application policy в центр с ports (интерфейсами), которые adapters реализуют для HTTP, БД, очередей и UI. Inbound adapters запускают use cases; outbound — driven ports. Метафора усиливает тестируемость подменой краёв без переписывания ядра.

На интервью: primary и secondary adapters для payment flow. Ports как интерфейсы стека, adapters как framework glue.

Типовые ошибки: анемичный hexagon с пустым domain; ports копируют controllers; business rules в adapters.

Чеклист:

  • Domain без импортов фреймворка.
  • Отдельный adapter на внешнюю систему.
  • Use cases зависят от outbound port interfaces.
  • Contract tests на границах adapter.