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

Какие паттерны проектирования из GoF использовались на проектах

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

Singleton - для создания единственного экземпляра класса (например, логгер, конфиг):

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

Factory Method - для создания объектов без указания конкретного класса:

python
class ButtonFactory:
    def create_button(self, type_):
        if type_ == "windows":
            return WindowsButton()
        elif type_ == "mac":
            return MacButton()

Observer - для подписки и уведомлений о событиях:

python
class Subject:
    def __init__(self):
        self._observers = []
    
    def notify(self):
        for observer in self._observers:
            observer.update(self)

Также часто используются:

  • Decorator (@decorator синтаксис)
  • Adapter (интеграция разных интерфейсов)
  • Strategy (переключение алгоритмов)

Выбор зависит от задачи - в веб-разработке чаще Factory/Decorator, в GUI - Observer, в инфраструктуре - Singleton.

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

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

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

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