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.