Back to questions
Фабрика Решения
Middle — Middle+
51
Объясните концепцию фабрики декораторов и как она применяется в проектировании систем.
Companies where asked
Soft Media Group
Answer from AI
sobes.tech AI
Фабрика декораторов — это паттерн проектирования, который сочетает фабричный метод и паттерн декоратор. Идея в том, что фабрика создаёт объекты, оборачивая их в один или несколько декораторов, добавляя дополнительное поведение динамически.
В Python это удобно реализовать с помощью функций-декораторов и фабричных функций, которые возвращают обёрнутые объекты.
Пример:
def decorator_factory(extra_behavior):
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Before {func.__name__}")
result = func(*args, **kwargs)
print(extra_behavior)
print(f"After {func.__name__}")
return result
return wrapper
return decorator
# Использование фабрики для создания декоратора с разным поведением
my_decorator = decorator_factory("Дополнительное поведение")
@my_decorator
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
В системах фабрика декораторов позволяет централизованно создавать объекты с нужным набором обёрток, что упрощает управление функциональностью и расширяемость.