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

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