python 设计模式之工厂模式

当我们需要大量创建一个类的实例的时候,可以使用工厂模式。从原生的使用类的构造去创建对象的方式迁移到基于工厂提供的方法去创建对象。

普通模式

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')

通过对比上面两种方式,虽然工厂模式看起来并没有简单,甚至更加复杂,但是当大批量创建对象的时候,有统一的入口,易于代码维护;当发生修改时,只需要修改工厂类的创建方法即可。

你可能感兴趣的:(设计模式,python,简单工厂模式)