设计模式:抽象工厂模式
抽象工厂模式是一种创建型设计模式,它提供一个接口,用于创建一系列相关或依赖对象的家族,而不需要指定其具体类。抽象工厂模式包含多个工厂方法,每个工厂方法用于创建不同类型的产品,形成一个产品家族。以下是抽象工厂模式的一般结构:1. 抽象产品(Abstract Product): 定义产品的接口,对于每个产品家族中的产品,都有一个对应的抽象产品。2. 具体产品(Concrete Product): 实现抽象产品接口,是产品家族中的具体产品。3. 抽象工厂(Abstract Factory): 声明创建产品的接口,包含多个工厂方法,每个方法用于创建一个产品家族中的产品。4. 具体工厂(Concrete Factory): 实现抽象工厂接口,负责实例化具体产品。下面是一个简单的 Python 示例,演示了抽象工厂模式:from abc import ABC, abstractmethod# 抽象产品Aclass AbstractProductA(ABC): @abstractmethod def operation_a(self): pass# 具体产品A1class ...
设计模式:工厂模式
工厂模式是创建型设计模式之一,它提供了一种创建对象的接口,但允许子类决定将哪个类实例化。工厂模式通过定义一个创建对象的接口,将实际实例化的过程延迟到子类中,从而使一个类的实例化过程与客户端代码解耦。工厂模式主要包括三种形式:简单工厂模式、工厂方法模式和抽象工厂模式。1. 简单工厂模式(Simple Factory Pattern): - 简单工厂模式并不属于经典的工厂模式,但在实际应用中较为常见。 - 定义一个工厂类,该工厂类负责根据客户端的参数创建相应的产品类的实例。 class SimpleFactory: def create_product(self, product_type): if product_type == 'A': return ProductA() elif product_type == 'B': return ProductB() else: raise Val...