Sobes.tech
Junior — Middle
114

Adapter tasarım deseninin çalışma prensibi ve amacı nedir?

Sorulan şirketler
Prooftech

AI'dan gelen yanıt

sobes.tech yapay zeka

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