简介
上一篇推文 简单工厂模式和工厂模式_Sean_TS_Wang的博客-CSDN博客简单工厂模式和工厂模式,我们区分了两种工厂的不同,以及适用场景。这篇文章主要区分一下工厂模式和抽象工厂模式的不同点
目录
正文
上一篇的工厂模式中提到,每个产品对应着一个子工厂,每次添加一种新产品,不仅需要新增一个产品类,还需要新增一个子工厂类。但是现实生活中,一个工厂可以生产的产品远不止一种。不同的工厂生产的产品厂商也不同。因此我们会将同一类型的产品放到同一个工厂生产,即减少成本,又能提高效率。
简化场景
今天你还是去买泡面,但是是要买康师傅的。看到指示牌(总工厂),指示牌上面只写着方便面区,然后你根据指示来到方便面区,发现有很多种牌子的泡面,而且除了泡面还有干拌面。比较好的是,同一个类型的方便面放在同一个货架(子工厂)上,你根据货架号找到自己需要种类,再根据种类选择自己想要的泡面牌子。
面向函数实现
def main(factory, product):
if factory == "a":
if product == "a":
print("生产康师傅泡面")
print("加水")
elif product == "a":
print("生产汤达人泡面")
print("加水")
else:
pass
elif factory == "b":
if produ