意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
结构:
Singleton:单例的类的只存在一个实例化对象。
class Singleton:
__instance = None
def __new__(cls, *args, **kwargs):
if cls.__instance is None:
cls.__instance = super().__new__(cls, *args, **kwargs)
return cls.__instance
分析:
- 抽象工厂模式,建造者模式,都可以将使用单例,将ConcreteFactory或ConcreteBuilder设计成单例。