注册模式,(注册树模式)以及设计模式的6大原则

将很多类实例化成对象,放到一个数组里面,根据你的需求然后取出来用。方便管理。

class  Registry  {  

      protected  static  $store  =  array();     
      private static $instance;  

      public static function getInstance() {  
          if(!isset(self::$instance)) {  
              self::$instance = new self;  
          }  
          return self::$instance;  
      }  

      public function  isValid($key)  {  
        return  array_key_exists($key,  Registry::$store);  
      }  

      public function  get($key)  {  
        if($this->isValid($key))  
        return  Registry::$store[$key];  
      }  

      public  function  set($key,  $obj)  {  
        Registry::$store[$key]  =  $obj;  
      }  
    }  


    class ConnectDB {  

        private $host;  
        private $username;  
        private $password;  

        private $conn;  


        public function __construct($host, $username, $password){  
            $this->host = $host;  
            $this->username = $username;  
            $this->password = $password;  
        }  

        public function getConnect() {  
            return mysql_connect($this->host,$this->username,$this->password);  
        }  

    }  

    echo '<br/>';
    //使用测试  
    $reg = Registry::getInstance();  
    $reg->set('db1', new ConnectDB('localhost', 'root', 'mckee'));  
    $reg->set('db2', new ConnectDB('192.168.1.198', 'test', '0K5Dt@2jdc8#x@'));  
    print_r($reg->get('db1'));  
    print_r($reg->get('db2'));
View Code

设计模式6个原则:https://www.cnblogs.com/sns007/p/6409961.html

猜你喜欢

转载自www.cnblogs.com/bneglect/p/10985767.html