Sobes.tech
Junior — Middle
110

Können Sie erklären, worin das Funktionsprinzip und der Zweck des Designmusters Adapter bestehen?

Unternehmen wurden gefragt
Prooftech

Antwort von AI

sobes.tech KI

Шаблон проектирования Adapter (адаптер) используется для того, чтобы сделать интерфейс одного класса совместимым с интерфейсом другого, ожидаемым клиентом. Это позволяет использовать классы с несовместимыми интерфейсами вместе.

Adapter выступает как «переводчик» между двумя объектами.

Пример на Java:

// Целевой интерфейс, который ожидает клиент
interface Target {
    void request();
}

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

// Адаптер, который реализует Target и вызывает Adaptee
class Adapter implements Target {
    private Adaptee adaptee;

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

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

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

Таким образом, Adapter позволяет интегрировать существующие классы без изменения их кода.