Junior — Middle
106
Ar galite paaiškinti, kaip veikia Adapter dizaino šablono principas ir tikslas?
Įmonės kur klausė
Prooftech
Atsakymas iš AI
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 позволяет интегрировать существующие классы без изменения их кода.