Назад к вопросам
Middle
2
Есть ли какие-то паттерны, которые ты прямо используешь в работе?
Компании, где спрашивали
BP
Ответ от нейросети
sobes.tech AI
В работе на Python часто применяю следующие паттерны:
-
Singleton — для объектов, которые должны иметь единственный экземпляр, например, конфигурация приложения.
-
Factory — для создания объектов с разной логикой инициализации, упрощает расширяемость.
-
Decorator — для динамического добавления функциональности к функциям или классам без изменения их кода.
-
Context Manager (with) — для управления ресурсами (файлы, соединения), гарантируя корректное освобождение.
-
Observer — для реализации событийной модели, когда объекты подписываются на изменения состояния.
Пример использования декоратора для логирования вызовов функции:
def log_calls(func):
def wrapper(*args, **kwargs):
print(f"Вызов {func.__name__} с args={args}, kwargs={kwargs}")
return func(*args, **kwargs)
return wrapper
@log_calls
def add(a, b):
return a + b
add(2, 3) # Выведет лог вызова и вернет 5