如何生成一个单子类?¶
在面向对象编程中,通常会对任何要实现的功能都抽象为类。但有些在运行时只有一个类实例存在, 例如一个全局的配置文件对象。
如何从技术上限制只有一个对象存在,这就是单子类的应用场景。
python天然存在一个类对象是唯一的, 这个行为可以作为一个单子类来使用。例如::
class Singleton:
def getInstance() :
return Singleton
a1 = Singleton.getInstance();
a1.name="book"
a2 = Singleton.getInstance();
print(a1 is a2) #输出为True
还有其他的实现方式,但都存在一些问题或者比较复杂。