抽象工厂模式
其与工厂方法模式的区别在于抽象工厂是先创建工厂,然后工厂在创建商品(实例);
定义一个创建对象的接口,让子类决定哪个类实例化。 他可以解决简单工厂模式中的封闭开放原则问题;
// 产品(数据库)标准 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(){(、本文来源gao@!dai!ma.com搞$$代^@码网*搞gaodaima代码 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教程有兴趣的朋友有所帮助。