前言
当我们需要大量创建一个类的实例的时候,可以使用工厂模式
。从原生的使用类的构造去创建对象的方式迁移到基于工厂提供的方法去创建对象。
普通模式
class People():
pass
class Teacher(People):
pass
class Student(People):
pass
student = Student()
teacher = Teacher()
工厂模式
class People():
pass
class Teacher(People):
pass
class Student(People):
pass
class Factory:
def get_people(self, type):
if type == 's':
return Student()
elif type == 't':
return Teacher()
else:
return
factory = Factory()
student = factory.get('s')
teacher = factory.get('t')
通过对比上面两种方式,虽然工厂模式看起来并没有简单,甚至更加复杂,但是当大批量创建对象的时候,有统一的入口,易于代码维护;当发生修改时,只需要修改工厂类的创建方法即可。