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

Какие дизайн паттерны знаешь

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

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

python
class Singleton:
    _instance = None

    def __new__(cls):
        if not cls._instance:
            cls._instance = super().__new__(cls)
        return cls._instance

2. Factory Method – делегирует создание объектов подклассам:

python
class Button:
    def render(self): pass

class WindowsButton(Button):
def render(self): return "Windows style"

class Dialog:
def create_button(self) -> Button: pass

class WindowsDialog(Dialog):
def create_button(self) -> Button:
return WindowsButton()

text

**3. Observer** – уведомляет подписчиков об изменениях:  
```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)

Также популярны Decorator, Strategy, Adapter, Facade, Proxy. Паттерны решают типовые задачи проектирования, но важно не злоупотреблять ими без необходимости.

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

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

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

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