Sobes.tech
Назад к вопросам
Junior — Middle
67

Применяли ли вы паттерн Adapter в своих проектах?

Ответ от нейросети

sobes.tech AI

Паттерн Adapter часто применялся в проектах для интеграции несовместимых интерфейсов. Например, когда нужно использовать сторонний класс с интерфейсом, отличным от ожидаемого, создаётся адаптер, который реализует нужный интерфейс и внутри вызывает методы адаптируемого класса.

Пример на Java:

// Целевой интерфейс
interface Target {
    void request();
}

// Класс с несовместимым интерфейсом
class Adaptee {
    void specificRequest() {
        System.out.println("Вызов специфического метода");
    }
}

// Адаптер
class Adapter implements Target {
    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public void request() {
        adaptee.specificRequest();
    }
}

// Использование
public class Main {
    public static void main(String[] args) {
        Adaptee adaptee = new Adaptee();
        Target target = new Adapter(adaptee);
        target.request(); // Вызовет specificRequest через адаптер
    }
}