什么是工厂模式
工厂模式:根据不同的类名,创建不同类的对象。
就是生产不同类的对象的工厂,避免使用new关键词。
还可以理解为:改变了创建对象的方式
工厂模式设计要求
工厂模式,可以设计一个工厂类
工厂类有一个私有的静态的属性,用来保存不同类的对象
工厂类有一个公共的静态的实例化对象的方法
代码:
//工厂模式(单例的)
final class Factory{
//私有的静态的保存对象的数组属性
static private $arr = array();
//公共的静态的实例化对象的方法
public static function getInstance($className){
//判断当前类的对象是否存在
if(!isset(self::$arr[$className])){
self::$arr[$className] = new $className();
}
return self::$arr[$className];
}
}