Что такое ports and adapters?

Middle+
413 просмотров
AFK Offer AI

Ports and adapters — это синоним hexagonal architecture. Port — интерфейс, который определяет, как внешний мир взаимодействует с приложением. Бывают входные (driving) — HTTP handler вызывает usecase, и выходные (driven) — usecase вызывает репозиторий. Adapter — конкретная реализация порта: PostgreSQL-адаптер реализует интерфейс UserRepository. В нашем проекте domain-интерфейсы — это порты, а repository/postgres и delivery/grpc — адаптеры. Такой подход позволяет легко заменить любой адаптер, не трогая бизнес-логику.

Следующий вопрос

Как работать с транзакциями в pgx?