工厂模式和策略模式有两种方式去调用方法,一种是用工厂方法调用,一种是单例调取实例,那实际上这两种都有一个缺点(可能也不应该称为缺点,也可叫不足),有一个比较好的方法就是已经创建好的这个对象,直接去取这个对象,这个就是注册器模式。
顾名思义,注册器模式就是将对象注册到全局树上,那么他就可以被任意地方访问。
直接上代码:
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>注册模式完成~
|