Sobes.tech
Junior — Middle
105

Vai jūs varat izskaidrot, kā darbojas Adapter dizaina parauga princips un mērķis?

Uzņēmumi, kur jautāja
Prooftech

Atbilde no AI

sobes.tech AI

Шаблон проектирования 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 позволяет интегрировать существующие классы без изменения их кода.