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

Что такое гексагональная архитектура

Гексагональная архитектура (или "порты и адаптеры") — это подход к проектированию ПО, где основная логика приложения изолирована от внешних зависимостей (UI, БД, API).

Ключевые компоненты:

  • Ядро (домен) — бизнес-логика.
  • Порты — интерфейсы для взаимодействия (вход/выход).
  • Адаптеры — реализация портов (например, REST API или SQL-репозиторий).

Пример на Python:

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

# Адаптер (реализация)
class SQLUserRepository(UserRepository):
    def save(self, user):
        print(f"Save {user} to SQL DB")

# Ядро
class UserService:
    def __init__(self, repo: UserRepository):
        self.repo = repo

    def register(self, user):
        self.repo.save(user)

# Использование
service = UserService(SQLUserRepository())
service.register("Alice")

Преимущества:

  • Тестируемость (ядро можно тестировать с моками).
  • Гибкость (замена адаптеров без изменения ядра).
  • Чистая разделённость ответственности.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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