Встречается на 1% собеседований по Python
Какие знаешь шаблоны проектирования
В 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
интервью вопросы и ответы