我學設計模式 之 單例模式
我學設計模式之單例模式
1. 簡介:
單例模式屬於建立模式。單例模式確保某一個類只有一個例項,而且自行例項化並向整個系統提供這個例項。這個類成為單例類。
2. 單例模式的結構特點
單例模式有如下特點:
1) 單例類只能有一個例項。
2) 單例類必須自己建立自己的唯一例項。
3) 單例類必須給其他所有物件提供一個例項。
3. 單例類的UML圖
4. 單例模式的用法
在這裡以日誌記錄器為例,闡述單例模式的用法,編寫一個日誌類,其程式碼如下:
/** * 單例模式的用法 * @author Administrator * 使用單例模式實現日誌記錄器 */ public class Loger {
//私有的建構函式,不能在外部使用new來構造 private Loger(){} private static Loger instance = new Loger(); //返回例項 public static Loger getInstance(){ return instance; }
public synchronized void logMessage(String msg){ //在這裡完成日誌記錄操作,本例忽略這部分的程式碼 System.out.println(msg); }
public static void main(String[] args) { Loger.getInstance().logMessage("測試!!!!!!"); } } |
5. 單例模式的相關應用場景
1. 對於大部分軟體都有一個(甚至多個)屬性(properties)檔案存放系統配置。這樣的系統應該由一個物件來管理一個屬性的檔案。
2. 負責記錄網站來訪人數的元件
3. 一個論壇中帖子的瀏覽計數器
4. 一個系統的日誌記錄器
5. 記錄軟體系統內部事件、出錯資訊的部件
6. 對系統的表現進行檢查的部件
凡事系統使用一個全域性物件的地方都可以使用單例模式。
以後若理解更深刻會繼續總結,待續….
相關文章
- 設計模式學習之單例模式設計模式單例
- JavaScript設計模式學習之單例模式JavaScript設計模式單例
- 設計模式之☞單例模式設計模式單例
- 設計模式之單例模式設計模式單例
- 設計模式之---單例模式設計模式單例
- 設計模式之單例設計模式設計模式單例
- 小學生學習設計模式之單例模式設計模式單例
- 設計模式學習筆記之單例模式設計模式筆記單例
- 我的Java設計模式-單例模式Java設計模式單例
- PHP 設計模式之單例模式PHP設計模式單例
- Javascript 設計模式之單例模式JavaScript設計模式單例
- Javascript設計模式之單例模式JavaScript設計模式單例
- js設計模式之單例模式JS設計模式單例
- PHP 設計模式之——單例模式PHP設計模式單例
- 01 設計模式之單例模式設計模式單例
- 設計模式(一)之單例模式設計模式單例
- golang設計模式之單例模式Golang設計模式單例
- PHP設計模式之單例模式PHP設計模式單例
- Java設計模式之單例模式Java設計模式單例
- php模式設計之 單例模式PHP模式單例
- PHP設計模式之:單例模式PHP設計模式單例
- iOS 設計模式之單例模式iOS設計模式單例
- 重學設計模式-單例模式設計模式單例
- 設計模式學習-單例模式設計模式單例
- 設計模式之單例設計模式單例
- 《我是面試官》設計模式-單例模式面試設計模式單例
- Java設計模式系列之單例設計模式Java設計模式單例
- 我學設計模式 之 代理模式設計模式
- 我學設計模式 之 策略模式設計模式
- 我學設計模式 之 命令模式設計模式
- 我學設計模式 之 中介模式設計模式
- 我學設計模式 之 模板模式設計模式
- 我學設計模式 之 合成模式設計模式
- Android設計模式之單例模式Android設計模式單例
- C#設計模式之單例模式C#設計模式單例
- 理解設計模式之單例模式(Javascript)設計模式單例JavaScript
- 設計模式之單例模式詳解設計模式單例
- 設計模式之單例模式 - Singleton設計模式單例