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

时间:2021-09-07 15:23:00

代码如下:


<?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");