clicks: 2440 date: 2014-04-26 16:08:13 power by 李軒lane
單例模式,顧名思義,單個的例項,就是對某個物件,只new一次。單例模式是設計模式常見的一種,用來建立封裝好的類的唯一乙個例項,這樣一來,可以嚴格控制客戶怎麼樣訪問它以及何時訪問它,對唯一例項的受控訪問。
單例模式:保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點。
單例模式如何防止乙個類被多次new呢?首先,每個類都有乙個建構函式,即使沒有顯式的宣告,也是以public存在的,將建構函式設為private。其次,讓該類儲存例項化後的物件,並提供乙個對外的介面。
示例場景:mysql中user表。以php為**環境,來模擬設計模式中的單例模式。
class usermysqlmodel{
public function get(){
echo '獲取user表的資料
';public function set(){
echo '寫入user表的資料
';public function edit(){
echo '修改user表的資料
';public function del(){
echo '刪除user表的資料
';class userbusiness{
private static $usermysqlmodelobj = '';
private function __construct(){
public static function getinstance(){
if(empty(self::$usermysqlmodelobj)){
self::$usermysqlmodelobj = new usermysqlmodel();
return self::$usermysqlmodelobj;
//客戶端/介面
$userbusinessobj = userbusiness::getinstance()->get();
$userbusinessobj = userbusiness::getinstance()->set();
$userbusinessobj = userbusiness::getinstance()->edit();
$userbusinessobj = userbusiness::getinstance()->del();
單態(單例)設計模式
什麼是設計模式 在程式設計過程中我們經常會遇到一些典型的問題或需要完成某種特定需求,而這些問題和需求前人也曾經遇到過,他們經過大量理論總結和實踐驗證之後優選出的 結構 程式設計風格 以及解決問題的思考方式,這就是設計模式 design pattern 設計模式就像是經典的棋譜,不同的棋局,我們用不同...
單態設計模式
package com.yanek.test public inte ce usermanager package com.yanek.test public class usermanage ctory public synchronized static usermanager getinsta...
單態設計模式
單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。實現單例模式的乙個最好的方法就是讓類自身負責儲存它的唯一例項。這個類可以保證沒有其他例項可以建立,並且它可以提供乙個訪問該例項的方法。單例模式具有一下特點 1 單例類只有乙個例項 2 單例類必須自己建立自己的唯一例...