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

Приведи пример использования паттернов программирования

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

1. Singleton (Одиночка)
Гарантирует, что у класса есть только один экземпляр.

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

obj1 = Singleton()
obj2 = Singleton()
print(obj1 is obj2)  # True

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]

animal = get_pet("cat")
print(animal.speak())  # Meow!

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)

class Observer:
    def update(self, subject):
        pass

Эти паттерны помогают решать типовые задачи, делая код гибче и поддерживаемее.

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

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

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

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