Junior — Middle
103
Mi az a Decorátor minta és mi a fő funkciója a programozásban?
Válasz az MI-től
sobes.tech MI
Паттерн Декоратор — это структурный шаблон проектирования, который позволяет динамически добавлять объектам новые обязанности, оборачивая их в другие объекты-декораторы. Основная функция — расширять поведение объектов без изменения их исходного кода, сохраняя при этом интерфейс.
В Python часто используется в виде функции-декоратора, которая принимает функцию и возвращает новую функцию с дополнительным поведением.
Пример простого декоратора в 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()
Здесь say_hello оборачивается в wrapper, который добавляет дополнительный функционал до и после вызова исходной функции.