序言
首先要清楚什么是设计者模式,这种设计模式的存在主要是用来解决什么问题的?设计者模式的存在是为了处理编程过程中遇到的一些特定问题所存在的方案。
Python设计者模式共有23种,而这23种设计模式又分为三类,分别是:创建型模式、结构型模式、行为型模式,这三类几乎涵盖了Python设计概念的全部。
单例模式
单例模式:为了避免同一文件资源互相冲突请求,文件中单例模式在执行的过程中只能生成一个类对象,动态改变执行该对象时,对象最终结果不变且能供全局调用。(python模块模式都是单例模式)。
Class code(object):
def __new__(cls):
if not hasattr(cls,'instance')
cls.instance = super(code,cls).__new__(cls)
return cls.instance
Code = code()
Code = code()
Cookie : hasattr()函数检测对象是否存在该属性
以上就是一个标准的单例模式,其实单例就是一个重新析构对象的过程而默认的new方法是Python创建类都会默认执行的析构方法,所以想要使用单例模式的概念,就必须去重新析构new方法。
单例模式第一次执行时,系统会对代码做一个类似于初始化的操作,判断instance这个属性,判断这个属性是否存于本次执行的实例对象当中,如果存在那么就直接返回,如果并未存在,那么就将我们所判断的这个属性添加到这个类当中。
说的通俗易懂一点,单例模式的属性根据代码动态来创建不同属性的实例对象,但是单例模式的对象执行结束后,通过动态创建出来的实例对象和第一次执行的实例对象必须是同一个对象。