设计模式---单例模式Singleton(创建型)
1. 概述
编程中总有一些类的对象需要是唯一的。例如:通过数据库句柄到数据库的连接是独占的,我们希望应用程序中共享数据库句柄,因为连接在打开或关闭时,会有开销。
让类自身负责保存它的唯一实例(静态变量)。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法(静态方法)。
2. 示例
1 <?php 2 class User { 3 static private $_instance = array();//静态成员保存唯一实例 4 private $_uid ; 5 /** 6 * 私有构造函数,保证不能被外部访问 7 * 8 */ 9 private function __construct($uid ) { 10 $this->_uid = $uid; 11 } 12 /** 13 * 静态方法将创建这个实例的操作并保证只有一个实例被创建 14 * 15 * @return unknown 16 */ 17 public static function getInstance($uid = 0) { 18 if (!self::$_instance || !isset(self::$_instance[$uid]) ) { 19 self::$_instance[$uid] = new self($uid); 20 } 21 return self::$_instance[$uid]; 22 } 23 }
作者:sy
出处:http://www.cnblogs.com/sydeveloper
QQ:522733724
本页版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明,
且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利