Встречается на собеседованиях • сегодня
Какие используешь паттерны проектирования
В Python часто применяют следующие паттерны:
1. Singleton – гарантирует единственный экземпляр класса:
python
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance2. Фабрика (Factory) – создание объектов через отдельный метод:
python
class ButtonFactory:
def create_button(self, type_):
if type_ == "windows":
return WindowsButton()
elif type_ == "mac":
return MacButton()3. Наблюдатель (Observer) – уведомление подписчиков об изменениях:
python
class Subject:
def __init__(self):
self._observers = []
def notify(self):
for observer in self._observers:
observer.update(self)4. Декоратор – добавление функциональности без изменения класса:
python
def log_time(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print(f"Time: {time.time() - start}")
return result
return wrapperТакже полезны Адаптер, Стратегия, Фасад. Выбор зависит от задачи – например, Singleton для логгеров, Фабрика для кросс-платформенных UI.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы