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

Придерживаешься ли паттернов проектирования

Да, паттерны проектирования помогают создавать более гибкий, поддерживаемый и масштабируемый код. В Python часто используются следующие паттерны:

  1. Singleton – гарантирует единственный экземпляр класса:
python
class Singleton:
    _instance = None
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance
  1. Фабричный метод – делегирует создание объектов подклассам:
python
from abc import ABC, abstractmethod

class Creator(ABC):
    @abstractmethod
    def factory_method(self):
        pass

class ConcreteCreator(Creator):
    def factory_method(self):
        return ConcreteProduct()

class Product(ABC):
    @abstractmethod
    def operation(self):
        pass
  1. Наблюдатель – реализует механизм подписки и уведомлений:
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)

Использование паттернов зависит от контекста. Иногда простой код без паттернов предпочтительнее, чтобы избежать избыточности.

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

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

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

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