单例模式理解:
- 使某个类的对象只被创建一次。
- 单例模式的最大好处就是减少资源的浪费,保证整个环境中只存在一个实例化的对象,特别适合资源连接类的编写。
- 单例模式的意思就是只创建一个资源(对象,数据库链接等),说白了,本质就是防止外部实例化类+判断是否存在来返回或创建后返回对象。
// 单例模式(口诀:三私一公)
class Singleton{
//私有化构造方法,禁止外部实例化对象
private function __construct(){}
//私有化__clone,防止对象被克隆
private function __clone(){}
//私有化内部实例化的对象
private static $instance = null;
// 公有静态实例方法
public static function getInstance(){
if(self::$instance == null){
//内部实例化对象
self::$instance = new self();
}
return self::$instance;
}
}
工厂模式理解:
- 工厂方法或者类生成对象,而不是在代码中直接new。
- 我们定义一个专门用来创建其它对象的类。 这样在需要调用某个类的时候,我们就不需要去使用new关键字实例化这个类,而是通过我们的工厂类调用某个方法得到类的实例。 好处:当我们对象所对应的类的类名发生变化的时候,我们只需要改一下工厂类类里面的实例化方法即可。不需要外部改所有的地方。
class Fact