工厂模式是一种对象创建型设计模式,它提供了创建对象的接口,让子类决定实例化哪一个类。工厂模式让一个类的实例化延迟到其子类。
工厂模式的核心概念
- 抽象工厂:定义创建对象的接口,但不实现创建逻辑。
- 具体工厂:实现抽象工厂接口,创建具体对象。
- 产品:具体工厂创建的对象。
何时使用工厂模式
- 当一个类不知道它所必须创建的对象的类的时候。
- 当一个类希望由其子类来指定创建的对象的时候。
- 当类之间的解耦很重要,而不需要知道具体类的时候。
示例
以下是一个简单的工厂模式示例:
class Dog:
def speak(self):
return "Woof!"
class Cat:
def speak(self):
return "Meow!"
class AnimalFactory:
def get_animal(self, animal_type):
if animal_type == "dog":
return Dog()
elif animal_type == "cat":
return Cat()
else:
raise ValueError("Unknown animal type")
# 使用工厂
factory = AnimalFactory()
dog = factory.get_animal("dog")
print(dog.speak()) # 输出: Woof!
cat = factory.get_animal("cat")
print(cat.speak()) # 输出: Meow!
Python 工厂模式
更多关于设计模式的教程,请访问设计模式教程。
抱歉,您的请求不符合要求