PHP-注册树模式

什么是注册树模式

注册树模式也叫注册模式或注册器模式。注册树模式将对象实例注册到一棵全局的对象树上,需要的时候从对象树上获取即可。方便去调用这些对象,便于统筹管理安排。

注册树模式的优点

单例模式创建唯一对象的过程本身还有一种判断,即判断对象是否存在,存在则返回对象,不存在则创建对象并返回。 工厂模式更多考虑的是扩展维护的问题。 总的来说,单例模式和工厂模式可以产生更加合理的对象。怎么方便调用这些对象呢?注册树模式是一种不错的选择。不管是通过单例模式还是工厂模式还是二者结合生成的对象,都统统给我插入到注册树上,用某个对象的时候,直接从注册树上获取即可。

引用于 www.36nu.com/post/132.html

注册树模式的实现


<?php

/**

 * 注册树模式

 * Class Register

 */

class Register

{

    protected static $objects = [];// 注册数组

    /**

     * 注册

     * @param string $alias

     * @param object $object

     */

    public static function set(string $alias, $object)

    {

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

    }

    /**

     * 撤销注册

     * @param string $alias

     */

    public static function _unset(string $alias)

    {

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

    }

    /**

     * 获取

     * @param $alias

     * @return mixed

     */

    public static function  get($alias)

    {

        return self::$objects[$alias];

    }

}

class Db

{

}

$db = new Db();

Register::set('db', $db);

$result = Register::get('db');

var_dump($result);

更多内容关注个人博客:lemonlyue.github.io/

本作品采用《CC 协议》,转载必须注明作者和本文链接
lemon_lyue
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!