feat:初版
This commit is contained in:
18
utils/singleton.py
Normal file
18
utils/singleton.py
Normal file
@@ -0,0 +1,18 @@
|
||||
class Singleton(type):
|
||||
_instances = {}
|
||||
|
||||
def __call__(cls, *args, **kwargs):
|
||||
if cls not in cls._instances:
|
||||
cls._instances[cls] = super().__call__(*args, **kwargs)
|
||||
return cls._instances[cls]
|
||||
|
||||
@classmethod
|
||||
def reset_instance(mcs, cls):
|
||||
"""重置指定类的单例实例"""
|
||||
if cls in mcs._instances:
|
||||
del mcs._instances[cls]
|
||||
|
||||
@classmethod
|
||||
def reset_all(mcs):
|
||||
"""重置所有单例实例"""
|
||||
mcs._instances.clear()
|
||||
Reference in New Issue
Block a user