renamed package to pypattyrn
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
class Singleton(type):
|
||||
"""
|
||||
Singleton Metaclass.
|
||||
|
||||
Enforces any object using this metaclass to only create a single instance.
|
||||
|
||||
- External Usage documentation: U{https://github.com/tylerlaberge/PyPatterns/wiki/Creational-Pattern-Usage}
|
||||
- External Singleton Pattern documentation: U{https://en.wikipedia.org/wiki/Singleton_pattern}
|
||||
"""
|
||||
__instance = None
|
||||
|
||||
def __call__(cls, *args, **kwargs):
|
||||
"""
|
||||
Override the __call__ method to make sure only one instance is created.
|
||||
"""
|
||||
if cls.__instance is None:
|
||||
cls.__instance = type.__call__(cls, *args, **kwargs)
|
||||
|
||||
return cls.__instance
|
||||
Reference in New Issue
Block a user