Назад к вопросам
МТС
Junior — Middle
59
В чем заключается назначение паттерна 'декоратор' в программировании?
Компании, где спрашивали
Soft Media Group
Ответ от нейросети
sobes.tech AI
Паттерн "декоратор" используется для динамического расширения функциональности объекта без изменения его исходного кода. Это позволяет "оборачивать" объект в другой объект-декоратор, который добавляет новые возможности, сохраняя при этом интерфейс оригинала.
Например, в Python можно использовать декораторы функций для добавления логирования или проверки прав доступа:
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Вызов функции {func.__name__}")
return func(*args, **kwargs)
return wrapper
@decorator
def say_hello(name):
print(f"Привет, {name}!")
say_hello("Мир")
Здесь decorator добавляет дополнительное поведение при вызове функции, не меняя её исходный код.