工厂模式

工厂模式。

使用工厂模式创建对象。根据不同的参数去创建不同的对象。

比如在一个框架中。你需要链接mysql mssql oracle。但是你需要创建这些类的实例。但是这个类都有相似的操作。比如链接、关闭、查询等。

//抽象类
interface Db{

    public function connect();
    public function query();
    public function close();
}
/**
* 生产类的工厂 根据不同的参数。创造不同的工厂
*/
class Factory 
{
    public function getInstance($type)
    {
        switch ($type) {
            case 'mysql':
                $db = new Mysql();
                break;
            case 'mssql':
                $db = new Mssql();
                break;
            case 'oracel':
                $db = new Oracel();
                break;
            default:
                # code...
                break;
        }
        return $db;
    }

}
/**
* 每个类要实现的方法。可以拓展
*/
class Mysql implements Db
{
    public function connect(){}
    public function query(){}
    public function close(){}

}
class Mssql implements Db
{
    public function connect(){}
    public function query(){}
    public function close(){}

}
class Oracle implements Db
{
    public function connect(){}
    public function query(){}
    public function close(){}

}
如果本文对您有所帮助,您可以点打赏击请作者喝杯咖啡。