Back to questions
Junior — Middle
72
Каково назначение и применение шаблона проектирования Adapter в разработке программного обеспечения?
Answer from AI
sobes.tech AI
Шаблон проектирования 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 через адаптер
}
}