在python中,使用单例模式比使用全局变量更好吗?
class Singleton(type):
def __call__(self, *args, **kwargs):
if 'instance' not in self.__dict__:
self.instance = super(Singleton, self).__call__(*args, **kwargs)
return self.instance或者只做一个全局变量:
SINGLETON_VARIABLE = None
def getSingleton():
if SINGLETON is None:
SINGLETON_VARIABLE = SOME_ININ_CLASS()
return SINGLETON_VARIABLE是否有必要使生活复杂化才能创建一个单例模式?提前谢谢你。
发布于 2014-08-21 23:47:42
全局变量方法的问题在于,您总是可以访问该变量并修改其内容,因此它将是Singleton模式的一种“弱”形式。此外,如果您有多个Singleton类,则必须为每个类定义一个函数和一个全局变量,因此它最终会比模式更混乱。
https://stackoverflow.com/questions/25429349
复制相似问题