Back to questions
Junior — Middle
55
В каких ситуациях принято использовать паттерн Декоратор?
Companies where asked
Soft Media Group
Answer from AI
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 без изменения её кода.