php设计模式——单例模式

wangcz 贡献于2015-08-06

作者 User  创建于2015-07-10 13:17:00   修改者User  修改于2015-07-10 13:17:00字数1830

文档摘要:php设计模式——单例模式单例模式概念单例模式是指整个应用中类只有一个对象实例的设计模式。单例模式的特点一个类在整个应用中只有一个实例类必须自行创建这个实例必须自行向整个系统提供这个实例php中使用单例模式的原因我用php大部分操作都是和各种数据库打交道.
关键词:

php设计模式——单例模式 单例模式概念 单例模式是指整个应用中类只有一个对象实例的设计模式。 单例模式的特点 · 一个类在整个应用中只有一个实例 · 类必须自行创建这个实例 · 必须自行向整个系统提供这个实例 php中使用单例模式的原因 我用php大部分操作都是和各种数据库打交道,包括mysql,redis,memcache等各种关系型和非关系型数据库,所以一个应用中会 存在大量连接数据库的操作,如果不用单例模式,那每次都要new操作,但是每次new都会消耗大量的内存资源和系统资源,而且每次打开和关闭数据库连接都 是对数据库的一种极大考验和浪费。 贴出我之前常用的不好的数据库连接代码,给大家一个错误示范: 1. set_charset(self::MYSQLCHARSET);   19.         if (mysqli_connect_errno())   20.         {   21.             throw new CircleMysqlException("服务器系统故障", 1001);   22.         }   23.         else   24.         {   25.             return $db;   26.         }   27.     }   28. }   缺陷: 每次数据库连接都要new这个类,然后调用mysqlconnect方法,返回close掉,频繁的new和数据库连接关闭操作是非常消耗资源的 改进: 每次应该直接返回当前应用中已经打开的数据库连接句柄 1. //单例模式返回数据库连接句柄   2. $db = MysqlConn::SingleMysqlConnect();   php单例模式的实现 1. db;   48.     }   49. }   · 需要一个保存类的唯一实例的静态成员变量(通常$instance为私有变量) · 构造函数和克隆函数必须声明为私有的,为了防止外部程序new类从而失去单例模式意义 · 必须提供一个访问这个实例的公共静态方法,从而返回唯一实例的一个引用 分类: php

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档