1.單例設計模式(singleton)
用途舉例:對於多個程式使用同乙個配置資訊物件時比如在連線資料庫時使用單例模式,每次只取出乙個連線
步驟:①私有化該類的建構函式
②私有化乙個靜態的物件
③公有化乙個靜態方法,將建立的物件返回
懶漢式 模板:
/*** 懶漢式:初始化的時候就會構造乙個例項,消耗記憶體,但是不用考慮多執行緒的問題
* @author
*/public
class
singleton
private
static singleton singleton = new
singleton();
public
static
singleton getinstance()
}
餓漢式模板:
/*** 餓漢式:延遲初始化這個單例例項 ,要考慮多執行緒同時請求初始化的問題
* 延遲初始化原因:①靜態初始化時,沒有足夠的資訊對單例進行初始化
* ②與獲取資源有關,例如資料庫連線,尤其在乙個特定會話中,它包含的應用程式並不需要該物件例項時 *
*/public
class
singletonofhungry
private
static singletonofhungry singletonofhungry = null
;
public
static
singletonofhungry getinstance()
return
singletonofhungry;}}
}
餓漢式demo:
/*** 未初始化餓漢式單例工廠 */
public
class
factory
private
static
factory factory;
public
static
factory getfactory()
return
factory;}}
public
void
recordnum()
}}
獲得例項還可以這麼寫:
publicstatic
factory getfactory()}}
return
factory;
}
設計模式(Design Patterns)
1 開閉原則 open close principle 2 黎克特制代換原則 liskov substitution principle 3 依賴倒轉原則 dependence inversion principle 4 介面隔離原則 inte ce segregation principle 5 ...
設計模式 Design Patterns 筆記之一
前言 呵呵,拿了第一頁出來,還沒反應過來,就被兄弟們慘罵一頓,前面實在象目錄,不過大家別急嘛,好歹給我點休息時間。不多說,下面開始記筆記!設計模式 design patterns 筆記之一 abstract factory 定義 提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。提...
Design Patterns 3 模板方法
1 template1 lib.cpp2 程式庫開發人員 3class library89 void step3 1213 void step5 16 1718 19 應用程式開發人員 20library 2526 bool step4 29 3031 int main void 32 4142 f...