Встречается на собеседованиях • сегодня
Какие знаешь шаблоны проектирования
В 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 Dog:
def speak(self): return "Woof!"
class Cat:
def speak(self): return "Meow!"
def get_pet(pet="dog"):
pets = {"dog": Dog(), "cat": Cat()}
return pets[pet]
text
**3. Observer (Наблюдатель)** – уведомляет подписчиков об изменениях.
```python
class Subject:
def __init__(self):
self._observers = []
def notify(self):
for observer in self._observers:
observer.update(self)4. Decorator (Декоратор) – добавляет поведение объекту динамически.
python
def logger(func):
def wrapper(*args):
print(f"Calling {func.__name__}")
return func(*args)
return wrapperТакже популярны Adapter, Strategy, Proxy и MVC.

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