195 читали · 1 год назад
Java 1332. Singleton - почему его называют анти-паттерн.
1332. Singleton - почему его называют анти-паттерн. Singleton - это паттерн проектирования, который описывает создание класса, у которого может быть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Однако, некоторые разработчики считают Singleton анти-паттерном. Давайте рассмотрим несколько причин, почему Singleton может быть рассмотрен как анти-паттерн: 1. Сложность тестирования: Использование Singleton может затруднить тестирование кода, так как он создает глобальное состояние, которое может влиять на другие тесты...
2 года назад
Singleton (Одиночка) — порождающий шаблон проектирования, гарантирующий, что в однопроцессном приложении будет единственный экземпляр
Singleton (Одиночка) — порождающий шаблон проектирования, гарантирующий, что в однопроцессном приложении будет единственный экземпляр некоторого класса, и предоставляющий глобальную точку доступа к этому экземпляру. 📎 Реализация синглтона через декоратор класса: def singleton(cls): # храним все разные синглтоны с одном словаре (класс -> экземпляр) instances = {} def getinstance(): # если класса нет среди ключей нашего словаря - создадим экземпляр if cls not in instances: instances[cls] = cls() # вернем ссылку на него return instances[cls] return getinstance Вот так мы помечаем, что класс MySingleton – синглтон: @singleton class MySingleton: def __init__(self): self...