Встречается на 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. Более гибкий, чем наследование

Часто используется для:
- Логирования
- Кеширования
- Проверки прав доступа
- Тайминга выполнения функций
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы