Python — od podstaw do zaawansowanego · Wzorce projektowe w Pythonie
Singleton, Borg i moduł jako singleton
Wzorce projektowe w Pythonie
Wprowadzenie
Singleton — najczęściej dyskutowany wzorzec kreacyjny. W Pythonie ma kilka twarzy: klasyczne __new__, „Monostate" Borga Alexa Martellego, metaklasa, dekorator. Ale najczęściej idiomatyczna odpowiedź to: moduł. Ta lekcja pokaże kiedy Singleton ma sens, kiedy jest antywzorcem, jak radzą sobie z tym problemem stdlib (logging, configparser) i dlaczego dependency injection bywa lepszym rozwiązaniem.