一、对工厂设计模式的理解
在现实生活中,工厂是用于生产产品的,我们告诉工厂,我们需要什么样的产品,工厂就会生产出该产品,我们无需知道该产品到底是怎么生产的。在python中也是一样的,我们只需要调用工厂类的方法,传入参数后,就能得到我们想要的对象,此时我们并不关心该对象的内部实现。
二、工厂设计模式的优点
1、工厂模式巨有非常好的封装性,代码结构清晰;
2、屏蔽产品类,使产品的被使用业务场景和产品的功能细节可以分而开发进行,是比较典型的解耦框架。
三、工厂模式的简单实现
流程图:
代码实现
class Factory(object):
"""定义工厂类"""
def create_fruit(self,fruit):
"""定义创建水果方法"""
if fruit == "apple":
return Apple()
elif fruit == "peach":
return Peach()
class Fruit(object):
"""创建水果类"""
def __str__(self):
return "fruit"
class Apple(Fruit):
"""创建苹果类"""
def __str__(self):
return "apple"
class Peach(Fruit):
"""创建桃子类"""
def __str__(self):
return "peach"
if __name__ == "__main__":
#工厂实例化
factory = Factory()
#使用工厂创建水果
fruit = factory.create_fruit("apple")
print(fruit)