当前位置: 首页 > news >正文

注册器模式

原文链接:https://www.cnblogs.com/phpworld/p/7443816.html

工厂模式和策略模式有两种方式去调用方法,一种是用工厂方法调用,一种是单例调取实例,那实际上这两种都有一个缺点(可能也不应该称为缺点,也可叫不足),有一个比较好的方法就是已经创建好的这个对象,直接去取这个对象,这个就是注册器模式。

顾名思义,注册器模式就是将对象注册到全局树上,那么他就可以被任意地方访问。

直接上代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<?php

class Register

{

    static protected $objects;//全局树  array

 

    //设置

    static function set($alias,$object)

    {

        self::$objects[$alias] = $object;

    }

    //获得

    static function get($alias)

    {

        return self::$objects[$alias];

    }

    //注销

    static function _unset($alias)

    {

        unset(self::$objects[$alias]);

    }

}

 

Register::set('conf',array('dbhost'=>'127.0.0.1'));

print_r(Register::get('conf'));<br>注册模式完成~

相关文章:

  • 安卓ssss定位
  • SpringBoot 导出 Excel
  • 剑指offer第14题:链表中倒数第k个结点
  • res下raw和assets的区别
  • CodeBlocks运行程序时弹出360等杀毒软件木马拦截警告提醒
  • 集合--Collection集合
  • 金鸡百花电影节星光熠熠,成龙走红毯和机器人过招
  • roscore和conda都打不开
  • static和this关键字
  • 条款10:令operator=返回一个reference to *this——82
  • 大型网站的架构
  • 自学编程、玩 vlog,90 后程序员们的冠军之路
  • Pytorch迁移学习
  • PHP 注释规范
  • namenode: Unknown command
  • git 命令收集
  • android.view.InflateException: Binary XML file line #
  • LocalDate和Mysql中Date交互
  • HDU 1000.A + B Problem:~scanf("%d%d",&a,&b)表示什么意思 输入字母字符为什么会进入死循环
  • Docker Images: 构建单机版 Spark 镜像,解决第三方 Jar 包的依赖问题