Встречается на собеседованиях • сегодня
Зачем нужен паттерн Декоратор
Паттерн Декоратор позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные "обёртки". Это гибкая альтернатива наследованию для расширения поведения.
Пример с кодом на Python:
```python
def make_bold(func):
def wrapper():
return "" + func() + ""
return wrapper
@make_bold
def say_hello():
return "Hello, world!"
print(say_hello()) # Вывод: Hello, world!
```
Основные преимущества:
1. Позволяет добавлять функциональность без изменения исходного кода
2. Можно комбинировать декораторы (цепочка обёрток)
3. Сохраняет тип и интерфейс оригинального объекта
4. Более гибкий, чем наследование
Часто используется для:
- Логирования
- Кеширования
- Проверки прав доступа
- Тайминга выполнения функций

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