回想:
工厂(模型类),是指这样一个类:它能够生产所指定的某个类的对象。
模型工厂:
就是能够生产模型类的对象的“工厂类”;而且,通过该工厂所生产的模型类的对象,是“单例的”。
比如,我们现在有2个模型类:UserModel, ProductModel
为什么这些模型类,会需要单例呢?
因为,就模型类中的那些工作(方法)而言,有一个对象,就都可以调用那些方法。
示意如下:
class ModelFactory{
static function GetModel( $c ){ //$c是一个类名;
.......
return $c的对象
}
}
class A{};
class B{};
$obj1 = ModelFactory::GetModel(“A”); //得到A的对象
$obj2 = ModelFactory::GetModel(“B”); //得到B的对象
$obj3 = ModelFactory::GetModel(“A”); //得到A的对象,而且,它就是前面的那个$obj1,这样也就实现了单例。
详细代码如下: