php中的设计模式之--抽象工厂模式

来源:互联网 发布:淘宝网踩踏式垃圾桶 编辑:程序博客网 时间:2024/06/05 05:40
 抽象工厂模式
  其与工厂方法模式的区别在于抽象工厂是先创建工厂,然后工厂在创建商品(实例);

 定义一个创建对象的接口,让子类决定哪个类实例化。 他可以解决简单工厂模式中的封闭开放原则问题;


// 产品(数据库)标准 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();   //


0 0
原创粉丝点击