注册树模式
来源:互联网 发布:python初学者的书籍 编辑:程序博客网 时间:2024/05/28 19:24
注册树模式可以集中管理对象,方便调用。下面让单例模式跟注册树模式来个小小的结合
代码:
// final禁止继承final class Singleton{ // 保存实例 private static $instance; // 防止类在外部被实例化 private function __construct() { } // 防止对象被复制 private function __clone() { } // 单例入口 public static function getInstance() { if( !(self::$instance instanceof self) ) { self::$instance = new self(); // echo "new"; // 测试代码 } // echo "get\n"; // 测试代码 return self::$instance; } // 测试方法 public function test() { echo 'test'; }}// 注册树class Register { // 注册树 protected static $tree = array(); // 挂上注册树 public static function set($key, $value) { self::$tree[$key] = $value; } // 获取注册树内容,没有内容返回空 public static function get($key) { return isset(self::$tree[$key]) ? self::$tree[$key] : null; } // 移除注册树内容,final禁止覆盖,存在$key则删除 final public static function remove($key) { if ( array_key_exists($key, self::$tree) ) { unset(self::$tree[$key]); } }}// 使用方法// 获取$singleton = Register::get('singleton');echo "1:";print_r($singleton);// 设置Register::set('singleton', Singleton::getInstance());$singleton = Register::get('singleton');echo "\n2:";print_r($singleton);$singleton->test();// 删除Register::remove('singleton');$singleton = Register::get('singleton');echo "\n3:";print_r($singleton);
流程图:
0 0
- 注册树模式
- php 注册树模式
- PHP 注册树模式
- 【设计模式】注册树模式
- 4.php 注册树模式
- PHP之注册树模式
- php模式设计之 注册树模式
- 《PHP设计模式》之 注册树模式
- PHP设计模式之-----注册树模式
- php模式设计之 注册树模式
- 注册模式
- 工厂模式、单例模式、注册树模式
- 工厂模式、单例模式、注册树模式
- 设计模式--注册模式
- 注册树模式,统一管理实例化对象
- php核心学习-设计模式的学习-注册树模式
- PHP常见的设计模式之:注册树模式
- 设计模式三大基础模式之工厂模式,单例模式,注册树模式
- jquery的on、off、one、bind、delegate、live、die绑定事件方法研究
- Spring Boot:简单Hello World
- Android GridView获取其中任意子View(并操作)详解
- ModelMap和ModelAndView的作用
- 搭建包含3台机器的Replica Set
- 注册树模式
- DKNightVersion框架的原理和使用
- SQL Server中关于跟踪(Trace)
- C++引用作为函数参数
- 图论(七)哥尼斯堡七桥问题
- jquery mobile初始class清除(取消自动添加的class)
- Spring学习笔记(二十六):STS导入项目出错,提示找不到javax.servlet....
- 浅析DVM进程和Linex进程是否是同一个概念
- React Router 使用教程