設計模式之單例模式

2021-07-06 02:29:12 字數 977 閱讀 5937

今天要寫的是關於單利設計模式的一些心得和想法,首先,什麼事設計模式呢?

首先,設計模式(design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的(按照一定的標準和規則

其次,什麼是單例設計模式呢?顧名思義,單例就是單例項,即乙個類在記憶體中只有乙個例項,有時候,我們需要在使用乙個類時只能有乙個例項化物件,那麼此時就要用到單利設計模式了。

1、建構函式是私有的(保證其他類不能建立本類物件)

2、在本類中建立乙個類物件(此物件可以呼叫本類中的方法)

3、給外界提供乙個public方法用於獲取該物件

單例模式一般分為懶漢式和餓漢式兩種:(如下為**體現和註解)

1,餓漢式:

class singleton//建構函式私有化    

public static singleton getinstance()

public static singleton single()

public static synchronized singleton getinstance()

public static singleton getinstance(){

if(single == null){

synchronized(singleton.class){   獲得本類鎖物件

if(single == null)

single = new singleton();

return single;

上面**通過兩次判斷可以稍微提高效率,因為在single不為空是,第乙個if語句為假,不會在繼續判斷的鎖。

總結:1,單例模式的出現解決了例項唯一的問題

2,餓漢式和懶漢式的區別:

餓漢式的物件在類物件載入的時候就隨之而建立,而懶漢式要等到呼叫getinstance()方法時才建立(可以稱之為延遲載入),所以在效能上,餓漢式要稍好些;

同時,餓漢式在使用時不必考慮執行緒安全問題,所以在用單例模式時,建議首選餓漢式。

設計模式之單例模式

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

設計模式之單例模式

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

設計模式之 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...