php在設計模式中的應用之單例模式

2021-08-01 14:29:55 字數 854 閱讀 4636

專案剛忙完上線,這幾天比較空閒,就多看看書,多寫寫部落格。先來一發簡單的設計模式——單例模式。

單例模式在常用的設計模式裡面是比較簡單的一種,個人理解它最大的作用是保持記憶體中物件的唯一性,從而避免物件頻繁地例項化浪費記憶體資源。應用場景見過最多就是資料庫連線物件的例項化。

而單例模式常見的有兩種:懶漢式和餓漢式,光看概念可能很難記得住,還是直接 上**。

懶漢式是延遲載入,直到用到物件的時候才例項化;

<?php

/** * 單例模式demo 懶漢式

*/class

singleton

public

static

function

getinstance

() return

self::$_instance;

}} function

unit_test

() unit_test();

?>

餓漢式是一開始就例項化物件,需要用到的時候直接返回物件使用。不過這裡有乙個疑問:就是餓漢模式,執行會報出`syntax error, unexpected 『new』 (t_new)`的錯誤,有大神幫我看看**嗎?求解釋!

/**

* 單例模式demo 餓漢式

*/class

singleton2

private

static

$_instance=new

self();

public

static

function

getinstance

() }

Spring 應用之單例設計模式

在系統開發中,有些物件其實只需要乙個,比如說 執行緒池 快取 日誌物件等。在 spring 框架中,就大量應用到了單例設計模式。使用單例模式的好處 spring 中 bean 的預設作用域就是 singleton 的。除了 singleton 作用域,spring 中 bean 還有下面幾種作用域 ...

單例模式在Unity中的應用

起因 每個遊戲場景中都會有許多的遊戲物件,而各個遊戲場景之間也是同等的關係。如何去管理它們,是我們要解決的問題。場景中各指令碼間的直接訪問,會在各指令碼間形成乙個巨大而又混亂的網路,這給以後 的維護帶來了極大的困難。為了避免這種因互動訪問而帶來的過度耦合情況,我們取消掉場景中各指令碼間的直接互動,取...

單例模式在DRP中的應用

此次 drp專案主要對企業的物流和資金流進行全面的管理和控制,從而縮短企業的 鏈,為企業節省成本,為管理層提供全面的資訊流。本系統主要包括如下模組,商及其庫存管理 分銷費管理 結賬管理 付款結算管理 統計報表管理 基礎資料管理和系統管理。整個系統採用分層的思想,通過呼叫訪問資料庫類 dbutil 訪...