Skip to main content

Posts

Showing posts with the label programming patterns

What is a Singleton Design Pattern?

In programming, a  Singleton  is a design pattern that ensures a class has  only one instance  during the entire lifetime of a program, and provides a global access point to that instance. Singleton is widely used when you want to control resource usage, like database connections, configurations, or loading a heavy machine learning model only once. Why Use Singleton? Efficient memory usage Controlled access to a resource Ensures consistency across your application Simple Singleton Implementation in Python class SingletonMeta(type): _instances = {} def __call__(cls, *a rgs, **kwargs): if cls not in cls._instances: instance = super().__call__( *a rgs, **kwargs) cls._instances[cls] = instance return cls._instances[cls] class SingletonExample( metaclass =SingletonMeta): def __init__(self): print ( "Initializing SingletonExample" ) # Usage a = SingletonExample() b = SingletonExample() print (a is b) # T...