您的位置 首页 php

卓象科技:PHP设计模式–单例模式

单例模式

定义: 简单的说,整个应用一次访问流程中只有一个实例对象的设计模式。

我对单例模式的理解就是可以减少new的操作,因为new操作的时候会消耗内存,如果进行大量的new操作,就会消耗大量的内存。

例如:

输出结果:

这里每一次new 操作就会增加内存的占用。而使用单例模式则不会造成这种情况。


单例模式的要点

1.某个类只能有一个实例。

2.必须自行创建这个实例。

3.必须自行向整个系统提供这个实例。

下面是创建一个单例类的示例:

/**
* @purpose: 创建一个单例类
* Class Single
*/
class Single {
/**
* @var Object 保存类实例的静态成员变量
*/
private static $_instance;
/**
* Single constructor. 私有的 构造方法
*/
private function __construct(){
echo ‘This is a Constructed method;’;
}
/**
* @purpose: 创建私有__clone方法防止对象被复制克隆
*/
private function __clone(){
}
/**
* @return Single|Object 单例方法,用于访问实例的公共的 静态方法
*/
public static function getInstance(){
if(!(self::$_instance instanceof self)){
self::$_instance = new self;
}
return self::$_instance;
}
}

现在我们进行 实例化 输出:

这里可以看出就算多次实例化内存也没有进行增长;


单例模式的用处

1.单例模式可以应用在数据库的操作类上

2.单例模式可应用在网站的计数器上

3.应用程序的日志应用,一般都使用单例模式实现,这一般是由于共享的日志文件一直处于打开状态,因为只能有一个实例去操作,否则内容不好追加。

4.Web应用的配置对象的读取,一般也应用单例模式,这个是由于配置文件是共享的资源。

文章来源:智云一二三科技

文章标题:卓象科技:PHP设计模式–单例模式

文章地址:https://www.zhihuclub.com/153055.shtml

关于作者: 智云科技

热门文章

网站地图