設計模式解析之單例模式

2021-09-13 02:30:23 字數 874 閱讀 2464

單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。

單例模式是一種常見的設計模式,在計算機系統中,執行緒池、快取、日誌物件、對話方塊、印表機、資料庫操作、顯示卡的驅動程式常被設計成單例。

單例模式分3種:懶漢式單例、餓漢式單例、登記式單例。

單例模式有以下3個特點:

1.只能有乙個例項。

2.必須自行建立這個例項。

3.必須給其他物件提供這一例項。

那麼為什麼要使用php單例模式?

php乙個主要應用場合就是應用程式與資料庫打交道的場景,在乙個應用中會存在大量的資料庫操作,針對資料庫控制代碼連線資料庫的行為,使用單例模式可以避免大量的new操作。因為每一次new操作都會消耗系統和記憶體的資源。

<?php

class single

static public $instance; //宣告乙個靜態變數(儲存在類中唯一的乙個例項)

static public function getinstance()

return self::$instance;

}public function setname($n)

public function getname()

}$oa = single::getinstance();

$ob = single::getinstance();

$oa->setname('hello world');

$ob->setname('good morning');

echo $oa->getname();//good morning

echo $ob->getname();//good morning

設計模式 單例設計模式 解析

1 概念 單例模式保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點 2 單例模式 singleton 定義了乙個getinstance操作,允許客戶訪問它的唯一例項。getinstance是乙個靜態方法,主要負責建立自己的唯一例項。class singleton public static s...

設計模式之單例模式

前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西...

設計模式之單例模式

package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...