美文网首页PHP程序员
PHP工厂模式之抽象工厂模式

PHP工厂模式之抽象工厂模式

作者: php转go | 来源:发表于2020-08-19 11:23 被阅读0次

抽象工厂模式中主要角色

  • 抽象工厂(Abstract Factory)角色:它声明一个创建抽象产品对象的接口。通常以接口或抽象类实现,所有的具体工厂类必须实现这个接口或继承这个类。
  • 具体工厂(Concrete Factory)角色:实现创建产品对象的操作。客户端直接调用这个角色创建产品的实例。这个角色包含有选择合适的产品对象的逻辑。通常使用具体类实现。
  • 抽象产品(Abstract Product)角色:声明一类产品的接口。它是工厂方法模式所创建的对象的父类,或它们共同拥有的接口。
  • 具体产品(Concrete Product)角色:实现抽象产品角色所定义的接口,定义一个将被相应的具体工厂创建的产品对象。其内部包含了应用程序的业务逻辑。

创建抽象工厂

//抽象工厂
interface AnimalFactory
{
    public static function createCat();
    public static function createDog();
}

具体工厂

use app\lib\Abstarct\product\Cat;
use app\lib\Abstarct\product\Dog;

class OneFactory implements AnimalFactory
{
    public static function createCat() {
        return new Cat();
    }
    public static function createDog(){
        return new Dog();
    }
}

具体生产的产品

class Cat implements AbstractProduct
{
    public function createWhile(){
        return "这里是生产的白色的猫";
    }
    public function createBlack(){
        return "这里是生产的黑色的猫";
    }
}
class Dog implements AbstractProduct
{
    public function createWhile(){
        return "这里是生产的白色的狗";
    }
    public function createBlack(){
        return "这里是生产的黑色的狗";
    }
}

在控制器调用

 OneFactory::createCat()->createBlack(); #输出 这里是生产的黑色的猫
 OneFactory::createDog()->createBlack();#输出 这里是生产的黑色的狗

相关文章

  • 找女朋友之简单工厂模式,工厂模式,抽象工厂模式

    找女朋友之简单工厂模式,工厂模式,抽象工厂模式 找女朋友之简单工厂模式,工厂模式,抽象工厂模式

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

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

  • 设计模式

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

  • Java与模式

    《JAVA与模式》之简单工厂模式《JAVA与模式》之工厂方法模式《JAVA与模式》之抽象工厂模式

  • Android设计模式

    1. 设计模式之抽象工厂模式 在学习抽象工厂模式前要先了解一下工厂模式,而抽象工厂模式主要就是为了弥补工厂模式的缺...

  • 工厂模式

    工厂模式细分三种:简单工厂模式、工厂模式、抽象工厂模式。 工厂模式相当于抽象了简单工厂模式的工厂类,而抽象工厂模式...

  • PHP工厂模式之抽象工厂模式

    抽象工厂模式中主要角色 抽象工厂(Abstract Factory)角色:它声明一个创建抽象产品对象的接口。通常以...

  • 抽象工厂模式(选择产品簇)

    目录 回顾众多工厂模式 抽象工厂模式的理念 抽象工厂模式与工厂方法模式的差异 怎么来实现抽象工厂模式 抽象工厂模式...

  • 常用设计模式

    设计模式 工厂模式 工厂模式思路上分:简单工厂模式,工厂模式, 抽象工厂模式// 抽象工厂模式可以代替工厂模式,做...

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

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

网友评论

    本文标题:PHP工厂模式之抽象工厂模式

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