Встречается на собеседованиях • сегодня
Что такое шаблон проектирования Decorator
Decorator — структурный шаблон, который позволяет динамически добавлять объектам новые функциональности, оборачивая их в объекты-декораторы. Это гибкая альтернатива наследованию для расширения поведения.
Пример:
java
interface Coffee {
double getCost();
String getDescription();
}
class SimpleCoffee implements Coffee {
public double getCost() { return 2.0; }
public String getDescription() { return "Simple coffee"; }
}
class MilkDecorator implements Coffee {
private Coffee coffee;
text
public MilkDecorator(Coffee coffee) {
this.coffee = coffee;
}
public double getCost() {
return coffee.getCost() + 0.5;
}
public String getDescription() {
return coffee.getDescription() + ", milk";
}}
text
Использование:
```java
Coffee coffee = new MilkDecorator(new SimpleCoffee());Плюсы: гибкость, открыт/закрыт принцип. Минусы: много мелких классов.

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