美文网首页
PHP设计模式:简单工厂

PHP设计模式:简单工厂

作者: Zed_790e | 来源:发表于2019-06-18 17:10 被阅读0次

前言

设计模式一直是我的短板,经常反复的去看却很难记住,尤其是UML图经常会看的我一脸懵逼。所以在这里把一些理解的设计模式记录下来,学习不只是光靠脑补,还得动手敲一下才懂的。
简单工厂模式还是挺简单的,以下用一个计算器去表述(对不起我口头阐述真滴不行挣扎了一会光靠“说”真不知道怎么去形容,还是需要“干”一下才了解)代码可以直接复制然后慢慢打印测试。(这也是被我认为最蠢但是挺实用的 --- 开荒学习法)

<?php

//计算器类
class Calculator
{
    //定义两个数值
    public $a;
    public $b;
}

//定义一个计算接口
interface Reckon
{
    function getResult();
}

//定义加法继承于计算器
class Add extends Calculator implements Reckon
{
    function getResult()
    {
        return $this->a + $this->b;
    }
}

//定义减法继承于计算器
class Sub extends Calculator implements Reckon
{
    function getResult()
    {
        return $this->a - $this->b;
    }
}

//定义一个计算器工厂
class CalculatorFactory
{
    //定义一个创建计算器的方法
    public static function CreateCalculator($operation)
    {
        //这里可以采用switch,但是我不管我就觉得表驱动法好看QwQ
        $operations = [
            '+' => Add::class,
            '-' => Sub::class,
        ];
        return array_key_exists($operation, $operations) ? new $operations[$operation] : '没有这个方法';
    }
}

//使用
$calculator = CalculatorFactory::CreateCalculator("+");
$calculator->a = 1;
$calculator->b = 2;
$result = $calculator->getResult();
var_dump($result);

PS:学会看UML图才是正确姿势,尤其在多种设计模式糅合在一起的时候UML图就可以直观的体现,但很不幸的是我还没到那种功力

相关文章

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

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

  • 设计模式-工厂模式

    设计模式1 设计模式2 工厂模式 工厂模式可简单的分为三类:简单工厂,工厂方法,抽象工厂 简单工厂模式 定义 简单...

  • PHP设计模式:简单工厂

    前言 设计模式一直是我的短板,经常反复的去看却很难记住,尤其是UML图经常会看的我一脸懵逼。所以在这里把一些理解的...

  • php设计模式-简单工厂模式

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

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

  • 设计模式一、单例模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 简单单例(推荐...

  • 设计模式

    设计模式(视频总结) [TOC] 一、简单工厂模式(Simple Factory) 简单工厂模式: 简单工厂模式属...

  • 设计模式四、抽象工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 抽象工厂模式 ...

  • 相近设计模式比较

    设计模式干货: 简单工厂模式 vs. 工厂模式 vs. 抽象工厂模式简单工厂和工厂模式区别? 简单工厂没有多个子类...

  • iOS设计模式-工厂模式

    工厂模式分为简单工厂模式,工厂模式、抽象工厂模式三类。 简单工厂模式 1. 定义 简单工厂模式并不是常用的设计模式...

网友评论

      本文标题:PHP设计模式:简单工厂

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