什麼是註冊樹模式
註冊樹模式也叫註冊模式或註冊器模式。註冊樹模式將物件例項註冊到一棵全域性的物件樹上,需要的時候從物件樹上獲取即可。方便去呼叫這些物件,便於統籌管理安排。
註冊樹模式的優點
單例模式建立唯一物件的過程本身還有一種判斷,即判斷物件是否存在,存在則返回物件,不存在則建立物件並返回。 工廠模式更多考慮的是擴充套件維護的問題。 總的來說,單例模式和工廠模式可以產生更加合理的物件。怎麼方便呼叫這些物件呢?註冊樹模式是一種不錯的選擇。不管是通過單例模式還是工廠模式還是二者結合生成的物件,都統統給我插入到註冊樹上,用某個物件的時候,直接從註冊樹上獲取即可。
註冊樹模式的實現
<?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);
本作品採用《CC 協議》,轉載必須註明作者和本文連結