首頁 >後端開發 >php教程 >php中的抽象工廠模式

php中的抽象工廠模式

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-08-08 09:31:30857瀏覽

 抽象工廠模式
其與工廠方法模式的區別在於抽象工廠是先創建工廠,然後工廠在創建商品(實例);
 

 定義一個創建對象的接口,讓子類決定哪個類實例化。 他可以解決簡單工廠模式中的封閉開放原則問題;

// 产品(数据库)标准


 interface DbInterface{
	public function connect(Array $params=array());
    public function query($sql);
    public function insert($table, $record);
    public function update($table, $record, $where);
    public function delete($table, $where);
}



// 具体产品(Mysql)

class MysqlDb implements DbInterface(){

    public function connect(Array $params=array());
    public function query($sql){}
    public function insert($table, $record){}
    public function update($table, $record, $where){}
    public function delete($table, $where){}

}


class OracalDb implements DbInterface(){

    public function connect(Array $params=array()){}
    public function query($sql){}
    public function insert($table, $record){}
    public function update($table, $record, $where){}
    public function delete($table, $where){}

}



// 构造工厂 

interface CreateFactory(){

    function createDB(); //分为 内敛的和外向的

}


class FactoryMysql implements CreateFactory{
    function createDB() {
        return  new  MysqlDb();
    }
}


class FactoryOracle implements CreateFactory{
    function createDB() {
        return  new  OracalDb();
    }
}




(1) 如果想使用mysql

$db = new FactoryMysql()->createDB();   //

以上就介紹了php中的抽象工廠模式,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP 反射類下一篇:PHP 反射類