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

Зачем нужен адаптер

Адаптер — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе. Он оборачивает один из объектов, преобразуя его интерфейс в понятный для другого.

Пример:
Допустим, у нас есть старый сервис для отправки SMS с методом sendSMS(text), а новый сервис использует метод send(message). Адаптер преобразует вызовы:

javascript
class OldSMSService {
  sendSMS(text) {
    console.log(`Sending SMS: ${text}`);
  }
}

class NewMessagingService {
  send(message) {
    console.log(`Sending: ${message}`);
  }
}

class MessagingAdapter {
  constructor(service) {
    this.service = service;
  }

  sendSMS(text) {
    this.service.send(text);
  }
}

// Использование
const newService = new NewMessagingService();
const adapter = new MessagingAdapter(newService);
adapter.sendSMS("Hello!"); // Вызовет newService.send("Hello!")

Зачем:

  • Интеграция legacy-кода с новыми системами
  • Работа со сторонними API, у которых другой интерфейс
  • Упрощение тестирования (можно подменить реальный сервис адаптером с моком)

Адаптер не меняет логику, только интерфейс взаимодействия.

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

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

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

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