PHP设计模式之一:注册树

本文介绍注册树模式,一种用于集中管理应用中常用对象的模式。通过静态方法或单例模式实现,可在初始化时将对象注册在注册树上,后续可全局访问这些对象,避免重复实例化,类似于全局变量的使用。

注册树模式为应用中经常使用的对象创建一个中央存储器来存放这些对象 —— 通常通过一个只包含静
态方法的抽象类来实现(或者通过单例模式)。也叫做注册器模式


用处:对于实例可以全局统一管理获取,多用于 初始化 时把要使用的对象放在注册树上


注册树文件

Register.php

<?php


class Register
{
    //保存对象的树
    protected static $objs;
    //放上树的方法
    static function set($name,$db){
        self::$objs[$name] = $db;
    }
    //得到树上的对象
    static function get($name){
        return self::$objs[$name];
    }
    //删除树上的对象
    static function nset($name){
        unset(self::$objs[$name]);
    }
}


例如在工厂模式中,生产时就把对象注册在树上

Factory.php

<?php

class Factory
{
    public static function createMysql(){
        $db = new Mysql();
        Register::set('objsql',$db);
    }
}

index.php

<?php
//注册到树上
Factory::createMysql();

//在以后和现在的文件中都可以通过访问注册树获取工厂中Mysql的对象,不需要再次创建实例,类似于
全局变量的使用
$db = Register::get('objsql');

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值