工厂模式是一种对象创建型设计模式,它提供了创建对象的接口,让子类决定实例化哪一个类。工厂模式让一个类的实例化延迟到其子类。

工厂模式的核心概念

  • 抽象工厂:定义创建对象的接口,但不实现创建逻辑。
  • 具体工厂:实现抽象工厂接口,创建具体对象。
  • 产品:具体工厂创建的对象。

何时使用工厂模式

  • 当一个类不知道它所必须创建的对象的类的时候。
  • 当一个类希望由其子类来指定创建的对象的时候。
  • 当类之间的解耦很重要,而不需要知道具体类的时候。

示例

以下是一个简单的工厂模式示例:

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 工厂模式

更多关于设计模式的教程,请访问设计模式教程

抱歉,您的请求不符合要求