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

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

В гексагональной архитектуре порт — это интерфейс, определяющий контракт взаимодействия между ядром приложения (бизнес-логикой) и внешним миром (адаптерами). Порт абстрагирует способ выполнения операций, оставляя реализацию адаптерам.

Типы портов:

  1. Входные (Primary/Driving Ports) — интерфейсы, которые ядро предоставляет для вызова извне (например, API для UI или внешних сервисов).
  2. Выходные (Secondary/Driven Ports) — интерфейсы, которые ядро использует для взаимодействия с внешними системами (например, доступ к БД или внешним API).

Пример на Python:

python
# Входной порт (интерфейс для сервиса)
class PaymentServicePort:
    def process_payment(self, amount: float) -> bool:
        raise NotImplementedError

# Выходной порт (интерфейс для репозитория)
class OrderRepositoryPort:
    def save_order(self, order_data: dict) -> None:
        raise NotImplementedError

Порты реализуются адаптерами, что позволяет заменять инфраструктуру без изменения бизнес-логики.

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

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

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

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