翼度科技»论坛 编程开发 PHP 查看内容

浅谈PHP设计模式的注册树模式

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
简介:

注册树模式,属于结构型的设计模式。一种很简单的设计模式
适用场景:

类似IOC。写一个庞大的类库的时候,为了方便各种资源的归纳,可以统一放到一棵树上。
优点:


  • 把一个个游兵散将一样的对象进行统一管理。
  • 另外可以根据项目的业务场景自定义层级。
缺点:


  • 增加项目的复杂性。
  • 纯粹的注册树写法,缺少单例模式的有点,可能存在重复创建对象的可能,需要做额外的验证。
代码

  1. class RegTree {
  2.     private static $objects;
  3.     //注册
  4.     public static function set($name, $object) {
  5.         self::$objects[$name] = $object;
  6.     }
  7.     //获取
  8.     public static function get($name) {
  9.         if(empty(self::$objects[$name])) {
  10.             throw new \Exception($name . ' does not exists');
  11.         }
  12.         return self::$objects[$name];
  13.     }
  14.     public static function destroy($name) {
  15.         unset(self::$objects[$name]);
  16.     }
  17. }
  18. //调用端=============================================
  19. $key = 'std_class';
  20. RegTree::set($key, new \StdClass());
  21. print_r(RegTree::get($key));
  22. RegTree::destroy($key);
  23. print_r(RegTree::get($key));
复制代码
来源:https://www.cnblogs.com/phpphp/p/16867997.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具