注册树模式为应用中经常使用的对象创建一个中央存储器来存放这些对象 —— 通常通过一个只包含静
态方法的抽象类来实现(或者通过单例模式)。也叫做注册器模式
用处:对于实例可以全局统一管理获取,多用于 初始化 时把要使用的对象放在注册树上
注册树文件
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');
本文介绍注册树模式,一种用于集中管理应用中常用对象的模式。通过静态方法或单例模式实现,可在初始化时将对象注册在注册树上,后续可全局访问这些对象,避免重复实例化,类似于全局变量的使用。
773

被折叠的 条评论
为什么被折叠?



