Middle
Декоратор чист?
sobes.tech AI
Ҷавоб аз AI
Декоратор — бу шаблон дизайну, який дозволяє динамічно додавати нову поведінку об'єкту без зміни його структури.
Основні характеристики:
- Гнучкість: Дозволяє додавати або видаляти функціональність об'єктів під час виконання.
- Незалежність: Нова функціональність може бути додана незалежно від основного класу.
- Використання композиції: Декоратор містить посилання на декорований об'єкт і перенаправляє запити до нього, додаючи логіку перед або після виконання.
Застосування:
- Логування
- Перевірка доступу (аутентифікація/авторизація)
- Додавання метаданих
- Зміна поведінки методів
Приклад у Python:
# Простий функція для декорування
def my_function():
return "Hello"
# Декоратор
def simple_decorator(func):
def wrapper():
print("Перед викликом функції")
result = func()
print("Після виклику функції")
return result
return wrapper
# Застосування декоратора
@simple_decorator
def decorated_function():
return "World"
# Виклик декорованої функції
# decorated_function() виведе:
# Перед викликом функції
# Після виклику функції
# і поверне "World"