Junior — Middle
73
В каких ситуациях принято использовать паттерн Декоратор?
Компании, где спрашивали
Soft Media Group
Ответ от нейросети
sobes.tech AI
Паттерн Декоратор используется, когда нужно динамически добавить объекту новые обязанности или поведение, не изменяя его исходный код и не создавая большое количество подклассов.
Типичные ситуации применения:
- Расширение функциональности объектов во время выполнения.
- Добавление дополнительных возможностей (например, логирование, кэширование, проверка прав) без изменения базового класса.
- Обеспечение гибкой композиции поведения.
Пример на Python:
def decorator(func):
def wrapper(*args, **kwargs):
print("Перед вызовом функции")
result = func(*args, **kwargs)
print("После вызова функции")
return result
return wrapper
@decorator
def say_hello():
print("Привет!")
say_hello()
Здесь функция decorator добавляет дополнительное поведение вокруг вызова say_hello без изменения её кода.