Sobes.tech
Back to questions
Junior — Middle
68

Можете ли вы назвать некоторые основные шаблоны проектирования, с которыми вы сталкивались?

Answer from AI

sobes.tech AI

Некоторые основные шаблоны проектирования, часто используемые в Python:

  • Singleton (Одиночка) — гарантирует, что класс имеет только один экземпляр.
  • Factory (Фабрика) — создаёт объекты без указания конкретного класса.
  • Observer (Наблюдатель) — позволяет объектам подписываться на события другого объекта.
  • Decorator (Декоратор) — динамически расширяет функциональность объекта.
  • Strategy (Стратегия) — позволяет выбирать алгоритмы во время выполнения.

Пример простого 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

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