Junior — Middle
103
Vai jūsu projektos izmantojat dekoratora modeli un kā tas palīdz organizēt kodu?
Atbilde no AI
sobes.tech AI
Да, паттерн декоратор часто применяется для расширения функциональности объектов без изменения их исходного кода. В Python это удобно реализовать с помощью классов или функций-обёрток.
Декоратор помогает организовать код, разделяя базовую логику и дополнительные возможности, что повышает гибкость и повторное использование.
Пример использования декоратора для логирования вызовов функции:
def log_decorator(func):
def wrapper(*args, **kwargs):
print(f"Вызов функции {func.__name__} с аргументами {args} {kwargs}")
result = func(*args, **kwargs)
print(f"Функция {func.__name__} вернула {result}")
return result
return wrapper
@log_decorator
def add(a, b):
return a + b
add(2, 3)
Такой подход позволяет добавлять новые возможности (логирование, проверку, кеширование) без изменения исходного кода функций.