Sobes.tech
Junior — Middle
111

Quelle est la finalité et l'utilisation du patron de conception Adapter dans le développement logiciel?

Réponse de l'IA

sobes.tech IA

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

Применение:

  • Интеграция старого кода с новым.
  • Обеспечение совместимости между разными библиотеками или модулями.

Пример на Java:

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

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

// Адаптер, реализующий целевой интерфейс и вызывающий методы Adaptee
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 через адаптер
    }
}