Sobes.tech
Back to questions
Junior — Middle
58

В чем заключается назначение паттерна 'декоратор' в программировании?

Companies where asked
МТСМТС
Soft Media Group

Answer from AI

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 добавляет дополнительное поведение при вызове функции, не меняя её исходный код.