Sobes.tech
Назад к вопросам
Junior — Middle
65

Можете ли вы назвать и описать паттерны из книги Гофф, которые использовали в своих рабочих проектах?

Ответ от нейросети

sobes.tech AI

В книге "Design Patterns: Elements of Reusable Object-Oriented Software" (GoF) описано 23 классических паттерна проектирования. В рабочих проектах на Python часто используются следующие:

  • Singleton — гарантирует, что класс имеет только один экземпляр. В Python можно реализовать через модуль или класс с контролем создания экземпляров.

  • Factory Method — определяет интерфейс для создания объекта, позволяя подклассам изменять тип создаваемого объекта.

  • Observer — позволяет объектам подписываться на события другого объекта и получать уведомления об изменениях.

  • Decorator — динамически добавляет объектам новые обязанности, оборачивая их.

Пример использования паттерна Singleton в Python:

class Singleton:
    _instance = None

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

s1 = Singleton()
s2 = Singleton()
print(s1 is s2)  # True

Эти паттерны помогают писать гибкий и поддерживаемый код.