Встречается на собеседованиях • сегодня

Для чего нужен шаблон Adapter

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

Пример:

java
// Целевой интерфейс (ожидаемый клиентом)
interface MediaPlayer {
    void play(String audioType, String fileName);
}

// Адаптируемый класс (старая реализация)
class LegacyPlayer {
void playMp3(String fileName) {
System.out.println("Playing MP3: " + fileName);
}
}

// Адаптер
class PlayerAdapter implements MediaPlayer {
private LegacyPlayer legacyPlayer;

text
public PlayerAdapter() {
    this.legacyPlayer = new LegacyPlayer();
}

@Override
public void play(String audioType, String fileName) {
    if (audioType.equalsIgnoreCase("mp3")) {
        legacyPlayer.playMp3(fileName);
    }
}

}

text
Используется, когда нужно интегрировать старый код с новой системой или работать со сторонними библиотеками, интерфейсы которых не соответствуют требованиям вашего приложения.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы