工厂方法

当一个类或者函数不知道它所需要创建的对象时,可以责成它的子类来创建目标对象,通过联合不同的子类,类或者函数可以根据需要使用相应的子类来创建所需要的对象。就好像是一个工厂根据消费者的需要进行定制化生产一样。

以下提供一个工厂方法的实现示例,在实际编程中,可以参考这个示例来编写实际的代码。

class Cake:
	def __init__(self):
		self.name = "cake"
		
	def whoami(self):
		return self.name

	
class Waffle:
	def __init__(self):
		self.name = "waffle"
	
	def whoami(self):
		return self.name
	

def food_factory(need="cake"):
	bakers = {"cake": Cake, "waffle": Waffle}
	return bakers[need]()


product = food_factory("waffle")
print(product.whoami())