Встречается на собеседованиях • сегодня
Какие знаешь паттерны ООП
В Python часто используются следующие паттерны ООП:
- Singleton – гарантирует единственный экземпляр класса.
python
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance- Фабричный метод – делегирует создание объектов подклассам.
python
class Creator:
def factory_method(self):
raise NotImplementedError
class ConcreteCreator(Creator):
def factory_method(self):
return ConcreteProduct()
class Product:
pass
class ConcreteProduct(Product):
pass
text
3. **Наблюдатель** – уведомляет подписчиков об изменениях.
```python
class Subject:
def __init__(self):
self._observers = []
def attach(self, observer):
self._observers.append(observer)
def notify(self):
for observer in self._observers:
observer.update(self)- Декоратор – добавляет поведение объектам динамически.
python
def decorator(func):
def wrapper(*args, **kwargs):
print("Доп. логика до вызова")
result = func(*args, **kwargs)
print("Доп. логика после вызова")
return result
return wrapperТакже популярны: Адаптер, Стратегия, Фасад, Команда.

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