PHP面向对象的设计模式-工厂模式(二)

2023-04-28 15:56:09 浏览数 (1)

工厂类

工厂类是创建具体产品的类。它通常是一个静态类,其中包含一个方法,该方法根据传递给它的参数来创建不同的对象。下面是一个示例:

代码语言:javascript复制
class SimpleFactory {
    public static function createProduct($type) {
        switch ($type) {
            case 'A':
                return new ProductA();
            case 'B':
                return new ProductB();
            default:
                throw new Exception('Invalid product type.');
        }
    }
}

在上面的代码中,我们定义了一个名为SimpleFactory的工厂类,它有一个名为createProduct的静态方法。这个方法接受一个参数$type,用于确定要创建的具体产品类型。根据传递的$type参数,createProduct方法将返回ProductA或ProductB的实例。如果$type参数无效,它将抛出一个异常。

使用简单工厂模式

使用简单工厂模式时,您只需通过调用工厂类的createProduct方法来创建对象,而不需要直接调用构造函数。下面是一个示例:

代码语言:javascript复制
$productA = SimpleFactory::createProduct('A');
echo $productA->getName(); // Output: Product A

$productB = SimpleFactory::createProduct('B');
echo $productB->getName(); // Output: Product B

在上面的代码中,我们使用SimpleFactory工厂类来创建ProductA和ProductB的实例,并输出它们的名称。

php

0 人点赞