美文网首页
php工厂方法模式

php工厂方法模式

作者: 一路向后 | 来源:发表于2021-03-15 21:38 被阅读0次

1.工厂方法模式简介

   工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

2.源码实现

<?php

/*抽象工厂类*/
abstract class Factory {
    protected abstract function produce();
    public function startFactory()
    {
        $pro = $this->produce();
        return $pro;
    }
}

/*产品类接口*/
interface Product {
    public function getProperties();
}

/*文本产品*/
class TextProduct implements Product {
    private $text;

    function getProperties()
    {
        $this->text = "此处为文本";
        return $this->text;
    }
}

/*图像产品*/
class ImageProduct implements Product {
    private $image;

    function getProperties()
    {
        $this->image = "此处为图像";
        return $this->image;
    }
}

/*文本工厂*/
class TextFactory extends Factory {
    protected function produce()
    {
        $textProduct = new TextProduct();
        return $textProduct->getProperties();
    }
}

/*图像工厂*/
class ImageFactory extends Factory {
    protected function produce()
    {
        $imageProduct = new ImageProduct();
        return $imageProduct->getProperties();
    }
}

/*客户类*/
class Client {
    private $textFactory;
    private $imageFactory;

    public function __construct()
    {
        $this->textFactory = new TextFactory();
        echo $this->textFactory->startFactory()."\n";
        $this->imageFactory = new ImageFactory();
        echo $this->imageFactory->startFactory()."\n";
    }
}

$client = new Client();

?>

3.运行及其结果

$ php example.php
此处为文本
此处为图像

相关文章

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

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

  • 设计模式

    php关键字 1.工厂模式分类 工厂模式具体可分为三类模式:简单工厂模式,工厂方法模式,抽象工厂模式; 1.1. ...

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

    前言设计模式是面向对象的最佳实践实战PHP实战创建型模式创建型 Factory Method(工厂方法)-工厂模式...

  • PHP设计模式之简单工厂模式*解读

    「PHP」简单工厂 PHP简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。 也就...

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

    PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者模式 PHP实战结构型模式 桥接模式 享元...

  • PHP工厂模式之工厂方法模式

    1、模式定义定义一个创建对象的接口,但是让子类去实例化具体类。工厂方法模式让类的实例化延迟到子类中。创建一个抽象类...

  • php设计模式——工厂模式

    工厂模式 用工厂方法或者类生成对象 而不是在代码中new 定义

  • php工厂方法模式

    1.工厂方法模式简介    工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实...

  • 设计模式-3种工厂模式

    工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 工厂方法根据参数直接创建实例:工厂->产品 ...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

网友评论

      本文标题:php工厂方法模式

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