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

 

单例模式

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

 

初始化一个对象

 

在不同的地方调用,并查看对象的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

加个单例修饰

 

 

类的形式实现

 

用属性

 

posted @ 2019-05-04 16:57  向前走。  阅读(229)  评论(0)    收藏  举报