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