設計模式(一)單例模式

2021-09-06 21:22:44 字數 1040 閱讀 6877

單例模式是一種常用的軟體設計模式,其定義是單例物件的類只能允許乙個例項存在。書上都會提到餓漢式懶漢式這兩種方式。下面具體些一些實現的例子

public class singleton 

public static singleton getinstance()

}

2、餓漢式,使用靜態**塊的方式實現。和上面沒有什麼區別。

public class singleton 

private singleton() {}

public static singleton getinstance()

}

public class singleton 

public static singleton getinstance()

return singleton;

}}

public class singleton 

public static synchronized singleton getinstance()

return singleton;

}}

5、懶漢式,同樣是解決執行緒不安全的問題,除了對例項化的函式進行同步,還可以使用同步**塊進行雙重檢測

//優先考慮這種寫法

public class singleton

public static singleton getinstance() }}

return singleton;

}}

6、列舉型別實現單例模式。用enum實現singleton時執行緒安全,保證單例。使用方法singleton.instance.othermethods();

//優先考慮這種寫法

enum singleton

}

設計模式 一 單例模式

思路 1 如果其他程式能夠隨意用new建立該類物件,那麼就無法控制個數。因此,不讓其他程式用new建立該類的物件。2 既然不讓其他程式new該類物件,那麼該類在自己內部就要建立乙個物件,否則該類就永遠無法建立物件了。3 該類將建立的物件對外 整個系統 提供,讓其他程式獲取並使用。步驟 1 將該類中的...

設計模式(一) 單例模式

這種模式只涉及到乙個單一的類,該類負責建立自己的物件,並確保只建立乙個物件。單例只有乙個例項 單例類必須建立自己唯一的例項 單例類必須給其他物件提供這唯一的例項 由於當今的程式設計模型都是基於多執行緒方式,因此此處只介紹執行緒安全的幾種實現。第一次被呼叫時才建立物件,屬於懶載入 lazy init ...

設計模式(一) 單例模式

單例模式 保證執行記憶體中只有乙個實體的實現模式就是單例模式,最常見的有餓漢模式 懶漢模式兩種。餓漢模式 package com.madg.design.singleton public class hungry public hungry getinstance 懶漢模式 package com....