测开之路二十一:单例模式

单例模式

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。

初始化一个对象

在不同的地方调用,并查看对象的id,id相同,则说明这是同一个对象

修饰器的形式

单例函数

def singleton(cls, *args, **kw):
'''
采用修饰器实现单例模式,修饰器的第一个参数应该是被修饰的类。
可以采用字典来存储类实例,类作为key,实例作为值。
'''
_instance = {}
def get_instance():
if cls not in _instance:
_instance[cls] = cls(*args, **kw)
return _instance[cls]
return get_instance

加个单例修饰

类的形式实现

用属性

猜你喜欢

转载自www.cnblogs.com/zhongyehai/p/10808972.html