设计模式-单例模式的实现
单例模式的核心作用是确保一个类只有一个实例,并且提供一个访问该实验的全局访点。
单例模式只生成一个实例对象,减少了对系统资源的开销。当一个对象的产生需要比较多的资源,如:读取配置文件,产生其他依赖对象时,可以产生一个单例对象,然后永久驻留与内存中。从而极大的降低开销。
1 class MySingleton: 2 3 __obj = None 4 __init_flag = True 5 6 def __new__(cls, *args, **kwargs): 7 if cls.__obj == None: 8 cls.__obj = object.__new__(cls) 9 10 return cls.__obj 11 12 def __init__(self,name): 13 if MySingleton.__init_flag: 14 print('init...') 15 self.name = name 16 MySingleton.__init_flag = False 17 18 a = MySingleton('AA') 19 b = MySingleton('BB') 20 print(a) 21 print(b)