美文网首页
设计模式-简单工厂理解

设计模式-简单工厂理解

作者: winter_coder | 来源:发表于2020-02-28 08:52 被阅读0次

这种模式在我理解,就是通过一个类似路由器的入口,创建属性相同但是操作不同的对象。

最简单的结构:

  1. 一个基础类:可以是普通类,或者抽象类
  2. 不同的操作或行为类:继承上诉基础类
  3. 路由器类:可创建上诉行为类的对象

举个栗子:

<?php 
/**
 * Operation 
 */
class Operation
{
    protected  $a = 0;
    protected  $b = 0;
    public function setA($a)
    {
        $this->a = $a;
    }
    public function setB($b)
    {
        $this->b = $b;
    }
    public function getResult()
    {
        $result = 0;
        return $result;
    }
}
/**
 * Add 
 */
class OperationAdd extends Operation
{
    public function getResult()
    {
        return $this->a + $this->b;
    }
}
/**
 * Mul
 */
class OperationMul extends Operation
{
    public function getResult()
    {
        return $this->a * $this->b;
    } 
}
/**
 * Sub
 */
class OperationSub extends Operation
{
    public function getResult()
    {
        return $this->a - $this->b;
    }
}
/**
 * Div
 */
class OperationDiv extends Operation
{
    public function getResult()
    {
        return $this->a / $this->b;
    }
}
/**
 * Operation Factory
 */
class OperationFactory
{
    public static function createOperation($operation)
    {
        switch ($operation) {
            case '+':
                $oper = new OperationAdd();
                break;
            case '-':
                $oper = new OperationSub();
                break;
            case '/':
                $oper = new OperationDiv();
                break;
            case '*':
                $oper = new OperationMul();
                break;
        }
        return $oper;
    }
}
// 客户端代码
$operation = OperationFactory::createOperation('+');
$operation->setA(1);
$operation->setB(2);
echo $operation->getResult() . PHP_EOL;

相关文章

  • 设计模式-工厂模式

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

  • 简单工厂模式、工厂方法模式、抽象工厂方法模式

    1. 简单工厂模式 如何理解简单工厂,工厂方法, 抽象工厂三种设计模式? 简单工厂的生活场景,卖早点的小摊贩,他给...

  • 设计模式一、单例模式

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

  • 设计模式

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

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

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

  • 相近设计模式比较

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

  • 设计模式-简单工厂理解

    这种模式在我理解,就是通过一个类似路由器的入口,创建属性相同但是操作不同的对象。 最简单的结构: 一个基础类:可以...

  • Retrofit的设计模式-- 抽象工厂模式

    Retrofit中的抽象工厂模式 前面说了项目中的设计模式 -- 简单工厂模式,为了有对比现在来理解一下抽象工厂模...

  • iOS设计模式-工厂模式

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

  • 设计模式三、工厂模式

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

网友评论

      本文标题:设计模式-简单工厂理解

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