Musings & ramblings of a Pythonista
Singleton Design Patterns create all sorts of problems as you have exactly one instance for the singleton class throughout the program.
# Singleton implementation using new-style classes class Singleton(object): def __new__(type): if not '_the_instance' in type.__dict__: type._the_instance = object.__new__(type) return type._the_instance class Foo(Singleton): pass >>> foo = Foo() >>> bar = Foo() >>> id(foo), id(bar) (10049912, 10049912)
Usually programmers use Singleton Patterns as a global entry point ...