美文网首页
php设计模式(1) 工厂模式

php设计模式(1) 工厂模式

作者: 小杨不是小羊 | 来源:发表于2018-08-15 17:40 被阅读0次

php设计模式(1) 工厂模式

工厂模式

工厂模式属于类创建型模式。

在工厂模式中,工厂父类负责定义 创建具体产品对象的公共接口,而工厂子类负责生产具体的产品对象。

优点

  • 将创建具体对象的步骤简化了,你只需要告诉工厂你需要什么,其他的都由工厂直接搞定,你只负责使用即可。
  • 如果你想添加一个新产品 只需要 修改/拓展 工厂类就可以了

代码实现

工厂类

class Factory
{
    public static function getProduct($type)
    {
        $obj = null;

        switch ($type) {
            case "Dogs":
                $obj = new Dog();
                break;
            case "Books":
                $obj = new Book();
                break;
            case "Wine":
                $obj = new Wine();
                break;
            default:
                $obj = null;
                break;
        }

        return $obj;
    }
}

抽象产品

interface Goods
{
    public function getList();
}

具体产品

class Book implements Goods
{
    public function getList()
    {
        return [
            0 => "语文书",
            1 => "数学书",
            2 => "英语书",
            3 => "唐吉坷德",
            4 => "尼尔斯骑鹅旅行记",
        ];
    }
}

调用

$books = Factory::getProduct('Books');

var_dump($books->getList());

结果

array (size=5)
  0 => string '语文书' (length=9)
  1 => string '数学书' (length=9)
  2 => string '英语书' (length=9)
  3 => string '唐吉坷德' (length=12)
  4 => string '尼尔斯骑鹅旅行记' (length=24)

相关文章

  • 《PHP设计模式大全》系列分享专栏

    php设计模式介绍之编程惯用法第1/3页 php设计模式介绍之值对象模式第1/5页 介绍php设计模式中的工厂模式...

  • PHP-浅谈单例模式和工厂模式

    PHP中常用的设计模式有单例模式、工厂模式(简单工厂模式、工厂方法模式和抽象工厂方法模式)、适配模式、策略模式。 ...

  • 策略模式和工厂模式在促销系统下的应用

    策略模式和工厂模式在促销系统下的应用 标签: 设计模式 策略模式 工厂模式 促销系统 php 设计模式为我们提供了...

  • php设计模式(1) 工厂模式

    php设计模式(1) 工厂模式 工厂模式 优点 将创建具体对象的步骤简化了,你只需要告诉工厂你需要什么,其他的都由...

  • PHP完整实战23种设计模式

    前言 设计模式是面向对象的最佳实践 实战 PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者...

  • ThinkPHP设计模式与Trait技术

    阅读原文 设计模式 单例模式 工厂模式 对象注册树 示例 运行 Trait技术 自 PHP 5.4.0 起,PHP...

  • iOS设计模式(3)适配器模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(4)抽象工...

  • php 工厂模式

    承接上篇php模式设计之 单例模式,(虽然好像关系不大)。今天讲述第二种基础的模式设计——工厂模式。 那么何为工厂...

  • iOS设计模式(5)策略模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(6)模板模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

网友评论

      本文标题:php设计模式(1) 工厂模式

      本文链接:https://www.haomeiwen.com/subject/pngwbftx.html