zoukankan      html  css  js  c++  java
  • PHP 设计模式(一)

    基础的三种设计模式

    工厂模式

    为创建对象提供了一个统一的接口,好处是当被创建对象命名空间或者名称改变时,直接修改工厂的创建方法即可

    <?php
    
    class Factory{
    
        public static createDatabase(){
            $db = new Database();
            return $db;
        }    
    
    }

    单例模式

    避免重复创建对象,浪费系统资源

    class Database{
        //保存实例
        public $db;
    
        private function __construct(){
            //将构造方法私有化
        }    
    
        public static function getInstance(){
            if(!isset($this->db)){
                $this->db = new Database();
            }
            return $this->db;
        }
    }

    注册器模式

    可以在程序执行开始统一创建对象,将对象绑定到全局变量上,可以省去调用获取实例的过程

     class Register{
         protected static $objects;
         /**
          * 绑定对象到树
          */
         static function set($alias,$obj){
             self::objects[$alias] = $obj;
         }
         /**
          * 从树上获取对象
          */
         static function get($alias){
             return self::objects[$alias];
         }
         /**
          * 从树上卸载对象
          */
         static function _unset($alias){
             unset(self::objects[$alias]);
         }
     }
  • 相关阅读:
    Spark 分布式环境---slave节点无法启动(已解决)
    Hadoop 分布式环境slave节点重启忽然不好使了
    Spark 2.2.0 分布式集群环境搭建
    arm-linux-gcc
    VS+QT创建一个OpenCV应用
    QT安装和vs2015使用
    DE1_MSEL
    Hog实例
    resize函数
    Hog特征
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9436149.html
Copyright © 2011-2022 走看看