当前位置: 首页 > 网络学院 > 服务端脚本教程 > PHP > PHP 单件模式

PHP
PHP 安全邮件
MySQL 介绍
连接 MySQL
创建 MySQL
MySQL 插入记录
MySQL 选择记录
MySQL Where
MySQL Order By
MySQL 记录更新
MySQL 删除记录
PHP ODBC
XML Expat Parser
XML SimpleXML
PHP 数组参考
PHP Calendar
PHP Date
PHP Directory
PHP Filesystem
PHP FTP
PHP HTTP

PHP 单件模式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-03-01   浏览: 917 ::
收藏到网摘: n/a

对一些类来说,只有一个实例是很重要的。比如一个数据库连接类实例。我们怎么样才能保证一个类只有一个实例并且这个实例易于被访问呢?一个全局变量 使得一个对象可以被访问,但它不能防止你实例化多个对象,而且全局变量会带来意想不到的麻烦。一个更好的办法是,让类自身负责保存它的唯一实例。这个类可 以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。这就是Singleton模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。

请看下面一段代码,一个数据库连接类:

分析一下这段代码,发现4个特征:
1.一个私有的静态属性
2.私有的构造、析构函数
3.一个公有的静态方法获取类的唯一实例
4.防止用户克隆(__clone())类实例

这就是Singleton模式的特征,一个非常高效实用的模式。

下面一段代码是测试例子。

推荐阅读:《Guide to PHP Design Patterns》

评论 (0) All

登陆 | 还没注册?