设计模式---单例模式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 }  

 

  

 

posted @ 2014-06-09 15:32  飛雲若雪  阅读(319)  评论(0编辑  收藏  举报