[PHP] 静态工厂模式-创建型设计模式

时间:2022-07-28
本文章向大家介绍[PHP] 静态工厂模式-创建型设计模式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

和抽象工厂类似,静态工厂模式用来创建一系列互相关联或依赖的对象 和抽象工厂模式不同的是静态工厂模式只用一个静态方法就解决了所有类型的对象创建

工厂里提供一个静态方法来创建不同的对象实例

final class StaticFactory
{
    public static function factory(string $type): Formatter
    {
        if ($type == 'number') {
            return new FormatNumber();
        } elseif ($type == 'string') {
            return new FormatString();
        }

        throw new InvalidArgumentException('Unknown format given');
    }
}

被生产的产品和前面的抽象工厂/工厂方法 ,基本一样 先定义一个接口,不同的产品实现这一个接口