Sobes.tech
Junior — Middle
93

Care este scopul pattern-ului 'decorator' în programare?

Companiile au fost întrebate
МТСМТС
Soft Media Group

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