2、它必須自行創(chuàng)建這個實例
3、必須自行向整個系統(tǒng)提供這個實例【結構圖】【主要角色】Singleton定義一個Ins " /> 午夜成年免费观看视频,日本乱人伦片中文字幕三区,波多野结衣一区免费作品

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php實現(xiàn)設計模式中的單例模式詳解

【概要】

保證一個類僅有一個實例,并且提供一個訪問它的全局訪問點【GOF95】

【特點】

1、一個類只有一個實例
2、它必須自行創(chuàng)建這個實例
3、必須自行向整個系統(tǒng)提供這個實例

【結構圖】

【主要角色】

Singleton定義一個Instance操作,允許客戶訪問它的唯一實例。Instance是一個類方法。負責創(chuàng)建它的唯一的實例。

【優(yōu)缺點】

1、對唯一實例的受控訪問
2、縮小命名空間 單例模式是對全局變量的一種改進。它避免了那些存儲唯一實例的全局變量污染命名空間
3、允許對操作和表示的精華 單例類可以有子類。而且用這個擴展類的實例來配置一個應用是很容易的。你可以用你所需要的類的實例在運行時刻配置應用
4、允許可變數(shù)目的實例(多例模式)
5、比類操作更靈活

【適用性】

1、當類只能有一個實例而且客戶可以從一個眾所周知的訪問點訪問它時
2、當這個唯一實例應該是通過子類化可擴展的。并且用戶應該無需更改代碼就能使用一個擴展的實例時。

【單例模式php實例】

復制代碼 代碼如下:
<?php
 /**
 * 單例模式
 * -------------
 * @author   zhaoxuejie <zxj198468@gmail.com>
 * @package  design pattern
 * @version  v1.0 2011-12-14
 */
class Singleton {
 
 //私有靜態(tài)成員變量,保存全局實例
 private static $instance = NULL;
 
 //私有構造方法,保證外界無法直接實例化
 private function __construct(){}
 
 //靜態(tài)方法,返回此類唯一實例
 public static function getInstance(){
  if(!isset(self::$instance)){
   $c = __CLASS__;
   self::$instance = new $c;
  }
  return self::$instance;
 }
 
 //測試用方法
 public function info(){
  return 'ok';
 }
 
 //防止克隆
 public function __clone(){
  trigger_error('Clone is not allowed.', E_USER_ERROR);
 }
}

$s = Singleton::getInstance();
echo $s->info();
?>

php技術php實現(xiàn)設計模式中的單例模式詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产福利合集 | 中文字幕曰韩一区二区不卡 | 国产视频第一页 | 国产精品青草久久福利不卡 | 欧美成人精品三级网站 | 久久亚洲综合伊人 | 国产精品九九免费视频 | 久青草国产手机在线视频 | 国产精品高清一区二区三区 | 久久综合狠狠综合久久 | 成人影院vs一区二区 | 日本高清一区二区三区不卡免费 | 精品久久久久久久久久中文字幕 | 亚洲一区二区中文字幕 | 天天拍拍天天爽免费视频 | 在线小视频国产 | 激情综合婷婷丁香六月花 | 性开放网站 | 激情综合久久 | 2021色噜噜狠狠综曰曰曰 | 99久久精品免费看国产高清 | 无码精品一区二区三区免费视频 | 四虎4hu亚洲精品 | 国产成人一区免费观看 | 美女脱了内裤打开腿让人桶网站o | 国产成人精品一区二区 | 精品国产96亚洲一区二区三区 | 亚洲 欧美 视频 | 日本美女久久 | 欧美综合一区二区三区 | 精品国产免费久久久久久婷婷 | 国产91视频免费 | 日韩亚洲精品不卡在线 | 91精选视频在线观看 | 日本三区| 国产综合亚洲欧美日韩一区二区 | 亚洲精品私拍国产福利在线 | 女色窝777777| 都市激情亚洲综合 | 亚洲乱亚洲乱妇41p国产成人 | 狠狠色综合网 |