Назад к вопросам
Junior — Middle
80
Можете объяснить, в чем заключается принцип работы и назначение шаблона проектирования Adapter?
Компании, где спрашивали
Prooftech
Ответ от нейросети
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 позволяет интегрировать существующие классы без изменения их кода.