1.单例模式
保证只有一个对象。
注意:在python中导入模块就是一种单例模式。
练习:创建sun类(太阳只有一个)
class Sun(object):
instance = None
def __new__(cls, *args, **kwargs):
if not cls.instance:
cls.instance = super().__new__(cls)
return cls.instance
else:
return cls.instance
sun1 = Sun()
print(id(sun1)) # 35244016
sun2 = Sun()
print(id(sun2)) # 35244016
2.工厂模式
工厂模式是一个在软件开发中用来创建对象的设计模式。
当程序运行输入一个“类型”的时候,需要创建于此相应的对象。这就用到了工厂模式。在如此情形中,实现代码基于工厂模式,可以达到可扩展,可维护的代码。当增加一个新的类型,不在需要修改已存在的类,只增加能够产生新类型的子类。