banner
NEWS LETTER

注册树模式

Scroll down

什么是注册树模式

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

注册树模式的优点

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

引用于 http://www.36nu.com/post/132.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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?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);
其他文章
cover
工厂模式
  • 23/10/02
  • 23:19
  • 256
  • 1
目录导航
  1. 1. 什么是注册树模式
  2. 2. 注册树模式的优点
  3. 3. 注册树模式的实现
请输入关键词进行搜索