php設(shè)計(jì)模式 Factory(工廠模式)
更新時(shí)間:2011年06月26日 10:58:41 作者:
定義一個(gè)用于創(chuàng)建對象的接口,讓子類決定將哪一個(gè)類實(shí)例化,使用一個(gè)類的實(shí)例化延遲到其子類
復(fù)制代碼 代碼如下:
<?php
/**
* 工廠方法模式
*
* 定義一個(gè)用于創(chuàng)建對象的接口,讓子類決定將哪一個(gè)類實(shí)例化,使用一個(gè)類的實(shí)例化延遲到其子類
*/
/*
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<br/>";
}
public function connect() {
}
public function exec() {
}
}
class PostgreDB implements DB
{
public function __construct() {
echo "Postgre db<br/>";
}
public function connect() {
}
public function exec() {
}
}
class MssqlDB implements DB
{
public function __construct() {
echo "mssql db<br/>";
}
public function connect() {
}
public function exec() {
}
}
$oMysql = DBFactory::create("Mysql");
$oPostgre = DBFactory::create("Postgre");
$oMssql = DBFactory::create("Mssql");
相關(guān)文章
PHP提示W(wǎng)arning:phpinfo() has been disabled函數(shù)禁用的解決方法
這篇文章主要介紹了PHP提示W(wǎng)arning:phpinfo() has been disabled函數(shù)禁用的解決方法,涉及針對配置文件中禁用函數(shù)的修改技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12PHP array_multisort()函數(shù)的使用札記
array_multisort 對多個(gè)數(shù)組或多維數(shù)組進(jìn)行排序的函數(shù),需要的朋友可以參考下。2011-07-0730 個(gè)很棒的PHP開源CMS內(nèi)容管理系統(tǒng)小結(jié)
本文匯集了30個(gè)優(yōu)秀的開源CMS建站系統(tǒng),采用PHP開發(fā)。以下列表不分先后順序2011-10-10淺談并發(fā)處理PHP進(jìn)程間通信之外部介質(zhì)
進(jìn)程間通信(IPC,Inter-Process Communication),多進(jìn)程開發(fā)中,進(jìn)程間通信是一個(gè)永遠(yuǎn)也繞不開的問題。在 web開發(fā)中,我們經(jīng)常遇到的并發(fā)請求問題,本質(zhì)上也可以作為進(jìn)程間通信來處理。2021-05-05php讀取二進(jìn)制流(C語言結(jié)構(gòu)體struct數(shù)據(jù)文件)的深入解析
本篇文章是對php讀取二進(jìn)制流(C語言結(jié)構(gòu)體struct數(shù)據(jù)文件)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06