您的位置:首页 > 编程语言 > PHP开发

php 设计模式(工厂方法模式)

2017-07-07 05:04 351 查看
interface DB{
function connect();
}

class Mysql implements DB{
public function connect(){
echo 'mysql 连接成功';
}
}
class SqLit implements DB{
public function connect(){
echo 'sqlit 连接成功';
}
}
//工厂方法模式
//工厂接口
interface Factory{
function getDB();
}
class MysqlFactory implements Factory{
public  function getDB(){
return new Mysql();
}
}
class SqlitFactory implements Factory{
public  function getDB(){
return new SqLit();
}
}
$db = new MysqlFactory();
$db->getDB()->connect();
$db = new MysqlFactory();
$db->getDB()->connect();

//思考,觉得还可以在封装一个超级工厂,主要生产全局使用的对象包括db,这样如果在扩展数据库只需要扩展一个子类便可以直接使用原有的
//超级工厂方法获得;
class BigFactory{
public static function getDB($name = 'mysql'){
$db = $name.'Factory';
return $db();
}
//.....
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: