payment/payment_backend/custom_decorators.py

18 lines
552 B
Python
Raw Normal View History

2024-11-10 10:00:58 +00:00
def singleton(cls):
"""
Decorator for making a class a singleton.
This ensures that only one instance of the class exists.
"""
instances = {} # Dictionary to store the instance of the singleton class
def get_instance(*args, **kwargs):
"""
If an instance of the class does not exist, create one and store it.
If it exists, return the existing instance.
"""
if cls not in instances:
instances[cls] = cls(*args, **kwargs)
return instances[cls]
return get_instance