zoukankan      html  css  js  c++  java
  • 注册树模式

    注册树模式,在学习了单例模式和工厂模式之后,我们知道都会产生对象,就算是单例模式,我们在使用的时候也需要每次都判断是不是存在这个对象,注册树就是解决这个问题的,使我们更方便的,统筹的调用这些对象;(把产生的对象“插入”到注册树上,需要的时候再取出来)

    我们实现注册树模式参考以下:

    1.创建一个注册树类

    2.在类里面创建一个私有或保护的属性用来存储对象

    3.创建存储和销毁对象的方法

    4.为了外部调用,我们需要创建获取对象的方法

    5.创建对象,获取对象、销毁对象的方法,为了方便外部调用,设置为静态方法

    示例源码:

    <?php
    class Register{
        protected static $objs;
        public static function set($alias,$object){
            self::$objs[$alias]=$object;
        }
        public static function get($alias){
            return self::$objs[$alias];
        }
        public static function _unset($alias){
            unset(self::$objs[$alias]);
        }
    }

    在外部调用的时候,假如结合工厂模式,将产生的对象加在注册树上

    <?php
    Register::set('mysqlobj',Factory::creat("mysql"));
    
    $object=Register::get('mysqlobj');
    
    print_r($object);

    模式设计之间会相辅相成

  • 相关阅读:
    1438.最小公倍数
    1441.人见人爱A^B
    1083.特殊乘法
    1153.括号匹配
    1089.数字翻转
    1042.coincidence(动态规划求最长公共子序列)
    图的m着色问题pascal程序
    最佳调度问题pascal程序
    试卷批分打表程序
    迷宫问题pascal程序
  • 原文地址:https://www.cnblogs.com/bafeiyu/p/5773441.html
Copyright © 2011-2022 走看看