微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php设计模式 Factory(工厂模式)

<div class="codetitle"><a style="CURSOR: pointer" data="78754" class="copybut" id="copybut78754" onclick="doCopy('code78754')"> 代码如下:

<div class="codebody" id="code78754">
<?PHP
/*
工厂方法模式

定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使用一个类的实例化延迟到其子类
/ /
class DBFactory
{
public static function create($type)
{
swtich($type)
{
case "MysqL":
return new MysqLDB(); break;
case "Postgre":
return new PostgreDB(); break;
case "Mssql":
return new MssqlDB(); break;
}
}
}
*/
class DBFactory
{
public static function create($type)
{
$class = $type."DB";
return new $class;
}
} interface DB
{
public function connect();
public function exec();
} class MysqLDB implements DB
{
public function construct() {
echo "MysqL db
";
} public function connect() {
} public function exec() {
}
} class PostgreDB implements DB
{
public function __construct() {
echo "Postgre db
";
} public function connect() {
} public function exec() {
}
} class MssqlDB implements DB
{
public function
construct() {
echo "mssql db
";
} public function connect() {
}
public function exec() {
}
} $oMysqL = DBFactory::create("MysqL");
$oPostgre = DBFactory::create("Postgre");
$oMssql = DBFactory::create("Mssql");

原文地址:https://www.jb51.cc/php/27841.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐