1.什么是单例模式? 效果如何?
单例模式是允许类仅被实例化(新)一次。 使用单例模式可以避免新建操作消耗大量资源。
二、实现单例模式
1)三私一公(原则)
②、私有构造函数
③. 防止克隆的私有克隆功能——clone
④、 方法,用于访问静态属性中存储的对象,如果没有对象,则生成这个单例
2)关键字,检查这个变量是否是本类的对象、子类、或者实现了接口。
class SingleInstance{
private function _construct(){
// 私有构造函数
}
private static $instance; // 私有属性,存储类对象
private function _clone(){ // 私有克隆函数,防止clone
}
public static function getInstance(){ // 公有获取 实例化对象方法
if(!self::$instance instanceof SingleInstance){
self::$instance=new SingleInstance();
}
return self ::$instance;
}
}
3.应用场景(请求较多的类)
1.数据库类
2. 网站柜台
3.应用日志应用
4.读取Web应用的配置对象
如果你有什么想法,可以在下方留言,一起讨论。 如果您觉得这篇文章对您有用,请帮忙点赞,谢谢! ^_^