php 设计模式 - 工厂模式

1,440 阅读1分钟
原文链接: www.36nu.com

工厂模式概念及特点

面向对象设计强调抽象类高于实现,也就是说我们要尽量一般化而不是特殊化,工厂模式解决了当代码关于抽象类型时如何创建对象实例的问题。

工厂模式就是把创建对象的过程封装起来,这样随时可以产生一个新的对象,减少代码之间耦合。

通俗的说,常规的创建一个对象要使用new,工厂模式就是把这个过程封装起来,使用一个工厂类来创建对象
如果不使用工厂模式,那么很多地方调用类Database,代码就会这样子创建一个实例:new Database(),假设某天需要修改Database类的名称那么调用Database类的代码都要修改。
工厂模式举例

假如已经有一个数据库类Database

class Factory{
    static function createDatabase(){
  $db = new Database();
  return $db;
    }
}

创建数据库类

$db = Factory::createDatabase();