專案剛忙完上線,這幾天比較空閒,就多看看書,多寫寫部落格。先來一發簡單的設計模式——單例模式。
單例模式在常用的設計模式裡面是比較簡單的一種,個人理解它最大的作用是保持記憶體中物件的唯一性,從而避免物件頻繁地例項化浪費記憶體資源。應用場景見過最多就是資料庫連線物件的例項化。
而單例模式常見的有兩種:懶漢式和餓漢式,光看概念可能很難記得住,還是直接 上**。
懶漢式是延遲載入,直到用到物件的時候才例項化;
<?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 訪...