工厂模式作用:
提供获取某个对象实例的统一接口,工厂方法是在类生成对象,而不是在代码中直接new,
优点就是:
使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数
特点:
1:创建一个接口
2:去实现这个接口
3:创建工厂类去调用实现的这些接口(引进工厂模式,通过工厂统一创建对象实例)
应用场景
要实现多种数据连接方式等等
interface.class.php
<?php
interface Trans{
public function go();
}
class bug implements Trans
{
public function go(){
echo "bug";
}
}
class school implements Trans
{
public function go(){
echo "school";
}
}
class Bike implements Trans
{
public function go(){
echo "Bike";
}
}
class transFactory{
public function factory($transport)
{
switch ($transport) {
case 'bug':
return new bug();
break;
case 'school':
return new school();
break;
case 'Bike':
return new Bike();
break;
}
}
}
$db = new transFactory();
$factory = $db->factory('bug');
var_dump($factory);
?>