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

Python Middle Без компании
Какие паттерны проектирования из GoF использовались на проектах
Ответы
В Python часто применяются следующие паттерны из GoF: **Singleton** - для создания единственного экземпляра класса (например, логгер, конфиг): ``` class Singleton: _instance = None def __new__(cls): if cls._instance is None: cls._instance = super().__new__(cls) return cls._instance ``` **Factory Method** - для создания объектов без указания конкретного класса: ``` class ButtonFactory: def create_button(self, type_): if type_ == "windows": return WindowsButton() elif type_ == "mac": return MacButton() ``` **Observer** - для подписки и уведомлений о событиях: ``` 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.