美文网首页
设计模式(一创建型模式)

设计模式(一创建型模式)

作者: X1_blog | 来源:发表于2020-04-30 17:14 被阅读0次

单例模式: 作用范围内一个类只有一个它的实例

/**单例模式
 * 类里设计方法, 返回类的唯一实例
 */
class a{
    public $name ;
    private static $instance ;
    public function __construct($name){
        $this->name = $name ;
        echo "实例化";
    }
    public static function getInstances($name){
        if(!self::$instance){
            self::$instance = new a($name);
            return self::$instance ;
        }
        else return self::$instance ;
    }
}

$b =  a::getInstances(1);
echo $b->name ;
$b->getInstances(2);
echo $b->name ;

抽象工厂模式: 包括抽象工厂, 具体工厂 ; 抽象产品, 具体产品 . 将行为和事物本身分离 ; 将实例化操作再封装

/*抽象工厂模式*/
interface factory{
    function getOperator();
}


class addFactory implements factory{
    function getOperator(){
        return new addOperator();
    }
}

class subFactory implements factory{
    function getOperator(){
        return new subOperator();
    }
}

class operator{
    protected $num1 , $num2 ;
    function setNum($num1 , $num2){
        $this->num1 = $num1;
        $this->num2 = $num2;
    }
    function getResult(){
        echo null; 
    }
}

class addOperator extends operator
{
    function getResult()
    {
        echo ($this->num1 + $this->num2);
    }
}

class subOperator extends operator
{
    function getResult()
    {
        echo ($this->num1 - $this->num2);
    }
}



class client
{
    static function main()
    {
        $factory = new addFactory();
        $operator = $factory->getOperator();
        $operator->setNum(1,2);
        $operator->getResult();

        $factory = new subFactory();
        $operator = $factory->getOperator();
        $operator->setNum(1,2);
        $operator->getResult();
    }
}

client::main();
image.png

demo参考 : https://blog.csdn.net/clevercode/article/details/53044679

相关文章

  • 23种设计模式总结一

    23 种经典设计模式共分为 3 种类型,分别是创建型、结构型和行为型。 一、创建型设计模式 创建型设计模式包括:单...

  • 建造者设计模式-Builder design pattern

    建造者设计模式是创建型设计模式的一种。创建型设计模式处理对象创建的问题。 建造者设计模式,用来构建需要经过若干个建...

  • 单例模式

    单例 单例模式,是一种设计模式,属于创建型设计模式,还有一种创建型设计模式,工厂模式。设计模式总共有23种,三大类...

  • 创建型设计模式总结

    创建型设计模式总结 Intro 前面几篇文章已经把创建型设计模式都介绍了,来做一个简单的总结。 创建型设计模式,就...

  • 设计模式简单总结(待完善)

    设计模式简单总结 设计模式可以分为:创建型,结构型,行为型三种模式。 1 创建型模式 1.1 单例模式 用来指定某...

  • 设计模式归纳

    一、设计模式的分类 23 种经典的设计模式分为三类:创建型、结构型、行为型。 1.创建型设计模式主要解决“对象的创...

  • 设计模式

    设计模式主要分为三大类型:创建型模式,结构型模式和行为型模式 创建型设计模式是一类处理对象创建的设计模式,通过某种...

  • 第1章 设计模式概述

    一、设计模式的概念 二、设计模式的历史 三、设计模式的要素 四、设计模式的分类 ■ 创建型设计模式 ■ 结构型设计...

  • 《设计模式之美》- 23种设计模式

    学习《设计模式之美》笔记。 23 种经典设计模式共分为 3 种类型,分别是创建型、结构型和行为型 创建型模式 创建...

  • spring 设计模式篇(前)

    设计模式俗称:套路 一、spring常见设计模式 (23种设计模式) 创建型:工厂方法模式、抽象工厂模式、建造者...

网友评论

      本文标题:设计模式(一创建型模式)

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