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数据库连接成功
  • 相关阅读:
    消息队列 ActiveMQ
    Redis
    SQL 怎么用EXISTS替代IN
    SQL优化
    为什么要重写hashCode()和equals()方法
    Redis的介绍和面试可能问到的问题
    建立私有CA和颁发证书
    修复grub2
    Centos 7 进入救援模式
    Centos 服务的常用命令
  • 原文地址:https://www.cnblogs.com/lisqiong/p/6549745.html
Copyright © 2011-2022 走看看