一、为啥要用工厂模式
因为现在的开发都是基于面向对象的,而调用方法需要实例化对象。我们在要拓展功能的时候,发现原来的类名不是很合适或者发现类需要添加构造函数参数才能实现功能扩展。我靠!我都通过这个类创建了一大堆对象实例了啊,难道我还要一个一个去改不成?没问题,工厂方法可以解决这个问题,其实工厂就帮你创建对象,收拢对象的,从而让修改、拓展十分的Easy, 我们现在才感受到了“高内聚低耦合”的博大精深。
二、何谓工厂模式
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。
三、代码应用(简单实现)
//工厂类
class Factor{
//生成对象方法
static function createDB(){
echo '我生产了一个DB实例';
return new DB;
}
}
//数据类
class DB{
public function __construct(){
echo __CLASS__.PHP_EOL;
}
}
$db=Factor::createDB();
四、应用场景
- 1.对象收拢
- 2.方法集合