Назад к вопросам
Junior — Middle
65
В чем заключается основная функция паттерна Adapter в проектировании программного обеспечения?
Ответ от нейросети
sobes.tech AI
Основная функция паттерна Adapter — обеспечить совместимость интерфейсов двух несвязанных классов, позволяя им работать вместе. Adapter выступает как «переводчик», преобразуя интерфейс одного класса в интерфейс, ожидаемый клиентом.
Например, если у вас есть класс с определённым методом, а клиент ожидает другой метод, 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();
}
}
Таким образом, паттерн Adapter позволяет использовать существующие классы с несовместимыми интерфейсами без изменения их кода.