Встречается на собеседованиях • сегодня
В чем разница между шаблонами проектирования Adapter и Decorator
Adapter преобразует интерфейс одного класса в интерфейс, ожидаемый клиентом, обеспечивая совместную работу несовместимых интерфейсов. Пример:
java
interface Target { void request(); }
class Adaptee { void specificRequest() { /*...*/ } }
class Adapter implements Target {
private Adaptee adaptee;
public void request() { adaptee.specificRequest(); }
}Decorator динамически добавляет новую функциональность объекту, не меняя его структуру, используя композицию. Пример:
java
interface Component { void operation(); }
class ConcreteComponent implements Component { /*...*/ }
class Decorator implements Component {
private Component component;
public void operation() { component.operation(); /* + доп. логика */ }
}Ключевое отличие: Adapter меняет интерфейс, Decorator расширяет функциональность, сохраняя интерфейс.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы