В каких ситуациях целесообразно применять паттерн адаптер?

Паттерн адаптер применяется, когда нужно сделать интерфейс одного класса совместимым с интерфейсом другого, который ожидает клиент. Это полезно в следующих ситуациях:

Короткий ответ

Что ответить на собеседовании

Паттерн адаптер применяется, когда нужно сделать интерфейс одного класса совместимым с интерфейсом другого, который ожидает клиент. Это полезно в следующих ситуациях:

Подробный разбор

Ответ с пояснениями

Паттерн адаптер применяется, когда нужно сделать интерфейс одного класса совместимым с интерфейсом другого, который ожидает клиент. Это полезно в следующих ситуациях:

  • Есть существующий класс с нужной функциональностью, но его интерфейс не подходит для текущей задачи.
  • Нужно интегрировать стороннюю библиотеку или модуль с несовместимым интерфейсом.
  • Требуется обеспечить совместимость между новыми и устаревшими компонентами.

Пример: у вас есть класс с методом oldRequest(), а клиент ожидает метод newRequest(). Адаптер реализует newRequest(), внутри вызывает oldRequest().

class OldInterface {
public:
    void oldRequest() {
        // старая реализация
    }
};

class Target {
public:
    virtual void newRequest() = 0;
};

class Adapter : public Target {
    OldInterface* oldObj;
public:
    Adapter(OldInterface* obj) : oldObj(obj) {}
    void newRequest() override {
        oldObj->oldRequest();
    }
};

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку