Sobes.tech
Junior — Middle
77

В каких ситуациях принято использовать паттерн Декоратор?

Сұралған компаниялар
Soft Media Group

AI-дан жауап

sobes.tech AI

Паттерн Декоратор используется, когда нужно динамически добавить объекту новые обязанности или поведение, не изменяя его исходный код и не создавая большое количество подклассов.

Типичные ситуации применения:

  • Расширение функциональности объектов во время выполнения.
  • Добавление дополнительных возможностей (например, логирование, кэширование, проверка прав) без изменения базового класса.
  • Обеспечение гибкой композиции поведения.

Пример на Python:

def decorator(func):
    def wrapper(*args, **kwargs):
        print("Перед вызовом функции")
        result = func(*args, **kwargs)
        print("После вызова функции")
        return result
    return wrapper

@decorator
def say_hello():
    print("Привет!")

say_hello()

Здесь функция decorator добавляет дополнительное поведение вокруг вызова say_hello без изменения её кода.