zoukankan      html  css  js  c++  java
  • php设计模式之工厂模式

    <?php
    /***
     * @desc 工厂模式
     * ***/
    
    interface DB{
        /*
         * @desc 接口类不体现具体实现,只是为了规范一套规则
         * **/
        
        public function conn();    
        
        public function add();
        
        public function delete();
        
        public function update();
        
        public function select();
        
        public function getLastSql();
        
    }
    
    /**
     * @desc 创建mysqlDb类
     * 接口是用来被实现的,并且每一个方法都必须要被实现
     * **/
    class mysqlDb implements DB{
        
        public function conn(){
            echo "恭喜您,mysql数据库连接成功";
        }
        
        public function add(){
            
        }
        
        public function delete(){
            
        }
        
        public function update(){
            
        }
        
        public function select(){
            
        }
        
        public function getLastSql(){
            
        }
    }
    
    
    /**
     * @desc 创建sqlServerDb 类
     * **/
    class sqlServerDb implements DB{
        
        public function conn(){
            echo "恭喜您,sqlServer数据库连接成功";
        }
        
        public function add(){
        
        }
        
        public function delete(){
        
        }
        
        public function update(){
        
        }
        
        public function select(){
        
        }
        
        public function getLastSql(){
        
        }
    }
    
    /**
     * @desc 创建一个数据库工程类,用来生产对象
     * **/
    class DbFactory{
        static $db = null;
        public static function getDb($type){
            switch($type){
                case 'mysql':
                    self::$db = new mysqlDb();
                    break;
                case 'sqlServer':
                    self::$db = new sqlServerDb();
                    break;    
            }
            return self::$db;
        }
            
    }
    
    //测试使用mysql来连接数据库测试工程模式是否成功
    $factory = new DbFactory();
    $db = $factory->getDb('mysql');
    $db->conn();
    //测试结果输出:恭喜您,mysql数据库连接成功
  • 相关阅读:
    java面试题总汇
    数据库sql语句规则
    docker安装redis(网上很多答案都是错误的,小心误入歧途!)
    docker 安装redis后,可视化工具无法连接
    Session
    #{}和${}区别
    axios和ajax区别
    Git使用
    Git常用命令
    如何简单粗暴的搞定dubbo调用模块
  • 原文地址:https://www.cnblogs.com/lisqiong/p/6549745.html
Copyright © 2011-2022 走看看