Sobes.tech
Junior — Middle
87

Ποιος είναι ο σκοπός του μοτίβου 'διακοσμητής' στον προγραμματισμό;

Εταιρείες όπου ρωτήθηκαν
МТСМТС
Soft Media Group

Απάντηση από 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 добавляет дополнительное поведение при вызове функции, не меняя её исходный код.