Junior — Middle
83
В каких ситуациях принято использовать паттерн Декоратор?
Unternehmen wurden gefragt
Soft Media Group
Antwort von AI
sobes.tech KI
Паттерн Декоратор используется, когда нужно динамически добавить объекту новые обязанности или поведение, не изменяя его исходный код и не создавая большое количество подклассов.
Типичные ситуации применения:
- Расширение функциональности объектов во время выполнения.
- Добавление дополнительных возможностей (например, логирование, кэширование, проверка прав) без изменения базового класса.
- Обеспечение гибкой композиции поведения.
Пример на 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 без изменения её кода.