PHP设计模式之工厂模式
<?php /** * 工厂方法模式 * * 定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使用一个类的实例化延迟到其子类 */ 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");