工厂模式:
简单来说就是对实例化对象的统一封装,
假设没有工厂模式的情况下,我们在要使用该类的地方都直接new 了该对象,以后如果这个类有一些变动,(改了名字,或者修改了构造方法),那么只要是new 到的地方都要做修改。
工厂模式就实现了,生产一个实例的方法,而不用自己去手动的new;
demo:
class superMan(){
}
class Factory{
static function createSuperMan(){
return new SuperMan();
}
}
$superMan = Factory::createSuperMan();
这样只要调用工厂的createSuperMan就能生产出superMan的对象。这是简单工厂的实现。