Назад к вопросам
Middle
70
questionbank
Что такое декоратор?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Декоратор — это шаблон проектирования, который позволяет динамически добавлять новое поведение объекту без изменения его структуры.
Основные характеристики:
- Гибкость: Позволяет добавлять или удалять функциональность объектов во время выполнения.
- Независимость: Новая функциональность может быть добавлена независимо от основного класса.
- Использование композиции: Декоратор содержит ссылку на декорируемый объект и перенаправляет к нему запросы, добавляя до или после выполнения какую-либо логику.
Применение:
- Логирование
- Проверка доступа (аутентификация/авторизация)
- Добавление метаданных
- Изменение поведения методов
Пример в Python:
# Простая функция для декорирования
def my_function():
return "Hello"
# Декоратор
def simple_decorator(func):
def wrapper():
print("Before function call")
result = func()
print("After function call")
return result
return wrapper
# Применение декоратора
@simple_decorator
def decorated_function():
return "World"
# Вызов декорированной функции
# decorated_function() would output:
# Before function call
# After function call
# and return "World"