程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php實現singleton()單例模式實例,singleton實例

php實現singleton()單例模式實例,singleton實例

編輯:關於PHP編程

php實現singleton()單例模式實例,singleton實例


本文實例講述了php實現singleton()單例模式的方法。分享給大家供大家參考。具體實現方法如下:

common.php文件如下:
復制代碼 代碼如下:<?php 
class CC 

private static $ins; 
public static function singleton() 
 { 
         if (!isset(self::$ins)){ 
            $c = __CLASS__; 
            self::$ins = new $c; 
         } 
         return self::$ins; 
    } 
public function EventResult($Id) 

return $Id; 


?>
index.php文件如下:
復制代碼 代碼如下:<html> 
    <head> 
        <title>測試</title> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    </head> 
    <body> 
<?php 
require 'common.php'; 
$objCC=CC::singleton(); 
$r=$objCC->EventResult(7); 
print_r($objCC); 
echo $r."</br>"; 
?> 
</body></html>

希望本文所述對大家的PHP程序設計有所幫助。


對於JAVA中的singleton模式

package test;

public class Singleton {
private Singleton s;
private Singleton()
{

}
public static Singleton getSigleton()
{
if(s==null)s=new Singleton();
return s;
}

}
這就是一個單例模式,我想應該不用注釋了,原理就是這個類的構造方法private了,所有在外邊不能調用,也就不能new Singleton();得到實例,那麼
想得到實例就得調用它的靜態方法getSigleton();即Singleton.getSigleton();就會返回一個Singleton的實例,注意此方法中的語句,即如果你是第一次調用這個方法那麼它會給你new一個實例,以後再調用得到的都是這個實例,也就是說從始至終就只有一個Singleton的實例,這就是單例模式。
 

java 單例模式 (singleton) 問題

你給出的代碼中,單例不是同步
dao一般也是用單例模式
在DAO類中 類的成員變量是會出現如你所說的並發安全,但是一般DAO的類變量都是有關數據源連接的,一般情況下都是一樣的,所以即使是並發調用也不影響。
在DAO方法中的局部變量 都是線程獨立的,不存在並發沖突的問題。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved