Junior — Middle
77
В каких ситуациях принято использовать паттерн Декоратор?
Сұралған компаниялар
Soft Media Group
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 без изменения её кода.