設計模式之單例模式 - Singleton
核心原理
單例模式的核心原理是將建構函式私有化, 並且提供一個static 的getInstance()方法獲取一個static的單例物件.
應用場景
有些類會持有很多資源, 比如ImageLoader類就會建立自己的執行緒池, 呼叫網路API等, 為了避免這些資源在程式中被建立多份, 影響整體效能. 一般對於ImageLoader這樣的類來說, 都要去使用單例模式.
還有就是像設定類, 比如BrowserSettings.java, 對這個類來說, 是沒有必要建立多個它的物件出來, 因此也最好使用單例模式.
最常用的實現方式
實現單例有幾種常用的方法, 但專案中最常用的標準方法是使用DCL(Double Check Lock)的方式實現.
public class Singleton {
private static Singleton _instance;
private Singleton() {
}
public static Singleton getInstance() {
if(_instance == null) {
synchronized(Singleton.class) {
If(_instance == null) {
_instance = new Singleton();
}
}
}
return _instance;
}
}
其他的幾種實現方式瞭解一下就行了, 自己寫專案時, 只要記住用DCL的方式寫程式碼就可以了.
---DONE.------
相關文章
- 設計模式之單例模式(Singleton Pattern)設計模式單例
- Java設計模式之單例模式(Singleton)Java設計模式單例
- 設計模式—singleton(單例模式)設計模式單例
- 設計模式 - 單例模式(Singleton)設計模式單例
- Java設計模式之單例模式(Singleton Pattern)Java設計模式單例
- JAVA設計模式之 單例模式【Singleton Pattern】Java設計模式單例
- java設計模式-單例模式SingletonJava設計模式單例
- 設計模式——3單例模式(Singleton)設計模式單例
- Singleton 單例設計模式單例設計模式
- 設計模式之“物件效能模式”: Singleton 單例模式(筆記)設計模式物件單例筆記
- PHP設計模式(四)單例模式(Singleton)PHP設計模式單例
- Java設計模式——單例模式(Singleton pattern)Java設計模式單例
- 《設計模式》 - 1. 單例模式( Singleton )設計模式單例
- 設計模式之Singleton - 單態模式設計模式
- 設計模式--單例(Singleton Pattern)設計模式單例
- Scala 與設計模式(一):Singleton 單例模式設計模式單例
- PHP設計模式(一)—單例模式(Singleton Pattern)PHP設計模式單例
- 設計模式的征途—1.單例(Singleton)模式設計模式單例
- 設計模式之☞單例模式設計模式單例
- 設計模式之單例模式設計模式單例
- 設計模式之---單例模式設計模式單例
- 設計模式之單例設計模式設計模式單例
- 設計模式 - 單例模式Singleton的8種寫法設計模式單例
- 單例模式 singleton單例模式
- 單例模式--SingleTon單例模式
- 單例模式(Singleton)單例模式
- Java設計模式之從[反恐精英控制檯]分析單例(Singleton)模式Java設計模式單例
- 2.C#設計模式系列01_單例模式_SingletonC#設計模式單例
- PHP 設計模式之單例模式PHP設計模式單例
- Javascript 設計模式之單例模式JavaScript設計模式單例
- Javascript設計模式之單例模式JavaScript設計模式單例
- js設計模式之單例模式JS設計模式單例
- PHP 設計模式之——單例模式PHP設計模式單例
- 01 設計模式之單例模式設計模式單例
- 設計模式(一)之單例模式設計模式單例
- golang設計模式之單例模式Golang設計模式單例
- PHP設計模式之單例模式PHP設計模式單例
- Java設計模式之單例模式Java設計模式單例