抽象产品(规范工厂必须要做的事)
interface db{
public function connect();
public function query();
}
//第一个生产线叫mysql
class mysql implements db{
public $sql;
public function connect(){
//mysql建立连接代码
}
public function query(){
//执行方法
}
}
//第二个生产线叫MSsql
class mssql impements db{
public $sql;
public function connect(){
//mysql建立连接代码
}
public function query(){
//执行方法
}
}
//工厂管理员(调用入口)
class OperationFactory {
public static
$obj;
public static function getdb($type){
switch($type){
case ‘mysql‘:
self::$obj = new mysql();
break;
case ‘mssql‘:
self::$obj = new mssql();
break;
}
return sefl::$obj;
}
}
//程序员调用
class p{
$db = OperationFactory::getdb(‘mysql‘);
$db->connect();
$db->sql = ‘select id from table1‘;
$db->query();
}
总结
简单工厂模式:
抽象基类:就是定义你这个厂里干活的一个规范(厂规),然后每个生产线都照这个规范来操作;
子类继承基类:每个生产线都必须按照厂规来完成自己的任务;
工厂类:相当于工厂管理,这里用于判断,根据客户要求,把任务下达到相应的生产线。
原文:http://www.cnblogs.com/naci/p/3645307.html