设计模式:就是一些现有的比较成熟解决固定问题的套路(方式,方法)
使用设计模式:
好处:
1、结构更合理
降低代码的耦合度(冗余度)
2、更容易维护,更容易拓展
弊端: 缺乏一定的灵活性
1、单例模式
业务核心:
保证对象的全局唯一性
class A:
# 类属性
__obj = None
def new(cls, *args, **kwargs):# 创建并返回一个新的对象
if not cls.__obj:
cls.__obj = super().new(cls)
return cls.__obj
else:
return cls.__obj
优化:
class A:
def new(cls, *args, **kwargs):# 创建并返回一个新的对象
if not cls.__obj:
cls.__obj = super().new(cls)
return cls.__obj
a0 = A()
a1 = A()
a2 = A()
print(hex(id(a0)))
print(hex(id(a1)))
print(hex(id(a2)))
print(a0 is a1)