工厂模式

工厂模式是做什么的呢?

例如现在又mysql操作类和mssql操作类,我们在使用的时候会把这些类来分别实例化,这些类都是用来数据库操作的,我们来新创建一个类,来管理这个具有相同共性的类

class Factory{

    static function creat($type){

        return new $type;

    }

}

那我们在实例化mysql对象的时候,就可以采用

$mysql_obj = Factory::creat(‘mysql’);

优势:统一管理对象的实例化,便于扩展维护

我们来写一写数据库操作类统一管理的工厂类吧

class DB{

    public static $db;

    public static function init($dbtype,$config){

        self::$db = new $dbtype;

        self::$db->connect($config);

    }

    public static function query($sql){

        return self::$db->query($sql);

    }

}

视图引擎工厂模式也是同样的道理

原文地址:https://www.cnblogs.com/bafeiyu/p/5773415.html