簡介:
注冊樹模式,屬于結構型的設計模式,一種很簡單的設計模式
適用場景:
類似IOC,寫一個龐大的類別庫的時候,為了方便各種資源的歸納,可以統一放到一棵樹上,
優點:
- 把一個個游兵散將一樣的物件進行統一管理,
- 另外可以根據專案的業務場景自定義層級,
缺點:
- 增加專案的復雜性,
- 純粹的注冊樹寫法,缺少單例模式的有點,可能存在重復創建物件的可能,需要欄位外的驗證,
代碼
class RegTree {
private static $objects;
//注冊
public static function set($name, $object) {
self::$objects[$name] = $object;
}
//獲取
public static function get($name) {
if(empty(self::$objects[$name])) {
throw new \Exception($name . ' does not exists');
}
return self::$objects[$name];
}
public static function destroy($name) {
unset(self::$objects[$name]);
}
}
//呼叫端=============================================
$key = 'std_class';
RegTree::set($key, new \StdClass());
print_r(RegTree::get($key));
RegTree::destroy($key);
print_r(RegTree::get($key));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528720.html
標籤:PHP
上一篇:log4j 1 升級方案
下一篇:Python工具箱系列(十一)
