工厂模式概念及特点
面向对象设计强调抽象类高于实现,也就是说我们要尽量一般化而不是特殊化,工厂模式解决了当代码关于抽象类型时如何创建对象实例的问题。
工厂模式就是把创建对象的过程封装起来,这样随时可以产生一个新的对象,减少代码之间耦合。
通俗的说,常规的创建一个对象要使用new,工厂模式就是把这个过程封装起来,使用一个工厂类来创建对象
如果不使用工厂模式,那么很多地方调用类Database,代码就会这样子创建一个实例:new Database(),假设某天需要修改Database类的名称那么调用Database类的代码都要修改。
工厂模式举例
假如已经有一个数据库类Database
class Factory{
static function createDatabase(){
$db = new Database();
return $db;
}
}
创建数据库类
$db = Factory::createDatabase();