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

Как понять, что код относится к гексагональной архитектуре

Гексагональная архитектура (или порты и адаптеры) определяется по следующим признакам:

  1. Ядро приложения (доменная логика) изолировано от внешних зависимостей (UI, БД, API)
  2. Порты (интерфейсы) определяют контракты для взаимодействия
  3. Адаптеры реализуют эти порты для конкретных технологий

Пример структуры:

python
# Порты (интерфейсы)
class UserRepository(ABC):
    @abstractmethod
    def save(self, user): pass

# Ядро (доменная логика)
class UserService:
    def __init__(self, repo: UserRepository):
        self.repo = repo
    
    def register(self, user):
        self.repo.save(user)

# Адаптер (реализация порта)
class PostgresUserRepository(UserRepository):
    def save(self, user):
        # Реализация для PostgreSQL

Ключевые признаки:

  • Зависимости направлены внутрь (ядро ничего не знает о внешнем мире)
  • Легко заменить адаптеры (например, перейти с Postgres на MongoDB)
  • Тестирование ядра возможно без реальных адаптеров (через моки)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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