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

  

posted on 2013-07-28 10:38  我是Peter  阅读(204)  评论(0编辑  收藏  举报

导航