如何在Python中实现工厂模式并举例说明其应用?
时间: 2024-12-24 14:25:16 浏览: 6
工厂模式是一种软件设计模式,它提供了一种创建对象的最佳方式,而不必暴露对象的创建逻辑。在Python中,我们可以使用函数、类或模块来实现工厂。下面是一个简单的例子:
```python
# 定义产品接口
class Product:
def do_something(self):
pass
# 定义具体的工厂类
class ConcreteFactory1:
@staticmethod
def create_product(product_type):
if product_type == 'productA':
return ProductA()
elif product_type == 'productB':
return ProductB()
class ProductA(Product):
def do_something(self):
print('Product A is doing something.')
class ProductB(Product):
def do_something(self):
print('Product B is doing something.')
# 使用工厂模式
factory = ConcreteFactory1()
product_instance = factory.create_product('productA') # 创建 ProductA 的实例
product_instance.do_something() # 输出 "Product A is doing something."
# 如果需要更换产品,只需要改变创建函数即可,无需修改客户端代码
factory = ConcreteFactory2() # 假设 ConcreteFactory2 另外一种产品系列
product_instance = factory.create_product('productC') # 这里假设有 productC 类
```
在这个例子中,工厂类`ConcreteFactory1`隐藏了如何创建`Product`的具体实现细节,客户端只需关心产品的类型(如`productA`或`productB`),这使得代码更加灵活和易于维护。
阅读全文