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

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

2011-06-26 00:00 2311 查看
<?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<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");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息