美文网首页
工厂模式+单例模式+注册模式联合实例

工厂模式+单例模式+注册模式联合实例

作者: f09037cb27f7 | 来源:发表于2020-02-28 17:18 被阅读0次

单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。
单例模式可以换成数据库类,数据库类再扩展做成 “适配器模式”

<?php
//创建单例
class Single{
    public $hash;
    static protected $ins=null;
    final protected function __construct(){
        $this->hash=rand(1,9999);
    }

    static public function getInstance(){
        if (self::$ins instanceof self) {
            return self::$ins;
        }
        self::$ins=new self();
        return self::$ins;
    } 
}

//工厂模式
class RandFactory{
    public static function factory(){
        return Single::getInstance();
    }
}

//注册树
class Register{
    protected static $objects;
    public static function set($alias,$object){
        self::$objects[$alias]=$object;
    }
    public static function get($alias){
        return self::$objects[$alias];
    }
    public static function _unset($alias){
        unset(self::$objects[$alias]);
    }
}

Register::set('rand',RandFactory::factory());

$object=Register::get('rand');

print_r($object);

相关文章

  • 基础设计模式:单例模式+工厂模式+注册树模式

    基础设计模式:单例模式+工厂模式+注册树模式 单例模式: 通过提供自身共享实例的访问,单例设计模式用于限制特定对象...

  • 工厂模式+单例模式+注册模式联合实例

    单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。单例模...

  • pattern设计模式

  • php设计模式(2) 注册树模式

    php设计模式(2) 注册树模式 注册树模式 优点 不论通过其他模式(工厂/单例)创建的实例,都没有很好的解决调用...

  • GOF23(java设计模式)--创建型模式

    单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式 一、单例模式作用:保证一个类只有一个实例...

  • PHP常用设计模式

    工厂模式 单例模式 注册树模式 适配器模式 策略模式 总结

  • PHP常用设计模式

    # 创建型 单例模式 工厂模式 工厂抽象模式 原型模式 建造者模式 # 结构型 # 行为型 # 3.注册模式 # ...

  • Android中的创建型模式

    共5中,单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式 单例模式 定义:确保某一个类的实例只有一个,而...

  • PHP设计模式之注册树模式

    PHP设计模式之注册树模式 为什么要采用注册树模式? 单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂...

  • php高级面试准备

    基础知识 设计模式 Factory工厂模式 Single单例模式 注册模式 适配器模式 策略模式 观察者模式 装饰...

网友评论

      本文标题:工厂模式+单例模式+注册模式联合实例

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