Singleton Pattern in Python
Изучите Singleton Pattern in Python на практическом примере, который можно изменить и запустить онлайн.
Что такое Singleton Pattern?
Изучите Singleton Pattern in Python на практическом примере, который можно изменить и запустить онлайн.
Когда это использовать?
- Решать повторяющиеся задачи объектного проектирования с помощью проверенных структур.
- Разделять обязанности, чтобы код было проще расширять и тестировать.
- Использовать общую терминологию проектирования при обсуждении архитектуры в команде.
Пример кода
main.py
class AppConfig:
# Singleton: every caller receives one shared configuration object.
_instance = None
def __new__(cls):
# Create the shared instance only on the first call.
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance.theme = "dark"
return cls._instance
first = AppConfig()
second = AppConfig()
print(first is second)
Ожидаемый результат
True
Как это работает
Этот пример демонстрирует Singleton Pattern in Python. Измените входные данные, чтобы изучить работу кода.
Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.
Практические задания
Изменяйте входные данные и проверяйте граничные случаи перед работой с большими наборами.
- Замените предметную область примера, сохранив структуру паттерна.
- Сравните паттерн с более простой реализацией и объясните компромиссы.
- Напишите тесты для каждого участника перед добавлением новой реализации.