Встречается на собеседованиях • сегодня

Что такое порт в гексагональной архитектуре

Порт в гексагональной архитектуре (Hexagonal Architecture) — это интерфейс, который определяет контракт взаимодействия между ядром приложения (бизнес-логикой) и внешним миром (адаптерами). Порт абстрагирует детали реализации, позволяя ядру оставаться независимым от внешних систем (БД, API, UI и т.д.).

Порты бывают двух типов:

  1. Входные (primary/driving) — для взаимодействия с клиентами (например, API или CLI).
  2. Выходные (secondary/driven) — для взаимодействия с внешними сервисами (например, БД или сторонними API).

Пример выходного порта для работы с хранилищем:

python
from abc import ABC, abstractmethod

class UserRepository(ABC):  # Порт
    @abstractmethod
    def save(self, user: User) -> None:
        pass

    @abstractmethod
    def get_by_id(self, user_id: str) -> User:
        pass

Адаптер реализует этот порт, например, для PostgreSQL или in-memory хранилища. Ядро приложения зависит только от абстракции (порта), а не от конкретной реализации.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы