抽象工厂模式
其与工厂方法模式的区别在于抽象工厂是先创建工厂,然后工厂在创建商品(实例);
定义一个创建对象的接口,让子类决定哪个类实例化。 他可以解决简单工厂模式中的封闭开放原则问题;
// 产品(数据库)标准 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教程有兴趣的朋友有所帮助。
