PYTHON ФАБРИКА ДЕКОРАТОРОВ
Python фабрика декораторов - это подход к созданию множества декораторов, используя единственную фабрику, которая может генерировать различные декораторы.
Фабрика декораторов может быть полезна для работы с повторяющимися паттернами декорирования, когда нам нужно создать множество декораторов с однотипным функционалом.
Вот пример кода на Python, который создает фабрику декораторов для добавления логирования к функциям:
def logger(func): def wrapper(*args, **kwargs): print('Logging call with {} arguments'.format(len(args))) return func(*args, **kwargs) return wrapperdef logger_factory(level): def debug_logger(func): def wrapper(*args, **kwargs): print('[DEBUG] Logging call with {} arguments'.format(len(args))) return func(*args, **kwargs) return wrapper def info_logger(func): def wrapper(*args, **kwargs): print('[INFO] Logging call with {} arguments'.format(len(args))) return func(*args, **kwargs) return wrapper if level == 'debug': return debug_logger else: return info_logger
Как видно из примера, фабрика декораторов принимает аргументы и возвращает фабрику декораторов, которая создает декораторы определенного типа (в данном случае - debug_logger или info_logger) в зависимости от переданного уровня логирования.
Паттерн Factory Method на Python
Декораторы в Python Часть 1. Decorator Python
Python. Паттерн проектирования программ \
Декораторы Python - Разбираем Декораторы С Примерами Кода
Паттерны проектирования на Python: Паттерн Фабричный метод
Декораторы Python на простых примерах
Паттерн Abstract Factory на Python
Python. Паттерн проектирования программ \
Уроки Python casts #6 - Декораторы
Мало программистам и тестировщикам не покажется. Прогноз на 10 лет вперед - официальный.
Новые материалы:
- Python tkinter label выравнивание текста слева
- Найдите индексы первого вхождения максимального элемента python
- Open source проекты на python
- Java на python
- Как установить jinja2 на python
- Команда создать приложение django
- Python кодировка json
- Jupiter notebook python markdown форматирование текста
- Найти косинус минимального из 4 заданных чисел python
- Python конструктор копирования
- Как создать ярлык запуска скрипта python
- Дескриптор файла python
- Python как очистить консоль в pycharm