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

Как объединяешь гексагональную архитектуру с GraphQL

Гексагональная архитектура фокусируется на изоляции бизнес-логики от внешних зависимостей. GraphQL здесь выступает как адаптер для внешнего взаимодействия.

  1. Core (домен): бизнес-логика и модели.
  2. GraphQL (адаптер): резолверы преобразуют запросы в вызовы сервисов ядра и возвращают данные в нужном формате.

Пример резолвера:

typescript
const resolvers = {
  Query: {
    getUser: async (_, { id }, { userService }) => {
      return userService.getUserById(id); // вызов сервиса из ядра
    },
  },
};

Нюансы:

  • GraphQL-схема отражает API, но не доменную модель.
  • Ошибки маппинга обрабатываются в резолверах.
  • Загрузка данных (DataLoader) помогает избегать N+1, не затрагивая ядро.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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