今天看的关于工厂模式的简单介绍,谈谈自己的理解吧
工厂模式在我看来,就是把new方法省略了,当对象的内容有所修改的时候,能够更方便的同步修改,比如现在我们创建一个类文件Cat.php,定义一个cat类
class Cat{}
那么正常的创建对象就是$cat = new Cat;
而工厂类要做的就是将new Cat的步骤放入类方法中Factory{
static function createCat(){
$cat = new Cat;
return $cat;
}
}
然后进行调用$cat = Factory::createCat();
这样当你的Cat类有所修改时,如添加构造方法对Cat类进行赋值class Cat{
public $color;
function __construct($color){
$this->color = $color;
}
function show(){
echo 'cat is ' . $this->color;
}
}
那么现在我们只需要修改Factory类的createCat方法即可,而不是对每一个new方法进行修改。