Встречается на собеседованиях • сегодня

Какие знаешь шаблоны проектирования

В Python часто используются следующие шаблоны проектирования:

1. Singleton – гарантирует единственный экземпляр класса.

python
class Singleton:
    _instance = None
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

2. 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.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы