Встречается на 5% собеседований по Data Engineer

Что такое паттерн Декоратор

Паттерн Декоратор — структурный шаблон проектирования, который позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки».

Преимущества:

  • Гибкость (можно добавлять/удалять поведение на лету)
  • Альтернатива наследованию (меньше связанности)
  • Соответствует Open-Closed Principle (классы открыты для расширения, но закрыты для изменений)

Пример на Python:

python
def bold(func):
    def wrapper(*args, **kwargs):
        return f"<b>{func(*args, **kwargs)}</b>"
    return wrapper

@bold
def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))  # <b>Hello, Alice!</b>

Где применяется:

  • Логирование, кеширование
  • Валидация данных
  • Веб-фреймворки (например, декораторы Flask/Django)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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