設計模式——單例模式

設計模式——單例模式

單例模式的定義

Ensure a class has only one instance, and provide a global point of access to it.

確保某一個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例。

public class Singleton{
  private static final Singleton singeton = new Singleton();
  private Singleton(){
  }
  public static Singleton getSingleton(){
      return singleton;
  }
  public static void doSomething(){
    // doSomething
  }
}

單例模式的優(yōu)點

  • 單例模式在內存中只有一個實例,減少了內存開支
  • 單例模式只生成一個實例,所以減少了系統(tǒng)的性能開銷
  • 單例模式可以避免對資源的多重占用
  • 單例模式可以在系統(tǒng)設置全局的訪問點,優(yōu)化和共享資源訪問。

單例模式的缺點

  • 單例模式一般沒有接口,擴展很困難
  • 單例模式對測試是不利的
  • 單例模式與單一職責原則有沖突。

單例模式的使用場景

  • 要求生成唯一序列號的環(huán)境
  • 在整個項目中需要一個共享訪問點或共享數(shù)據(jù)
  • 創(chuàng)建一個資源需要消耗的資源過多
  • 需要定義大量的靜態(tài)常量和靜態(tài)方法
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 目錄 本文的結構如下: 什么是單例模式 為什么要用該模式 模式的結構 代碼示例 優(yōu)點和缺點 適用環(huán)境 模式應用 總...
    w1992wishes閱讀 487評論 1 2
  • 單例模式(Singleton):在應用這個模式時,單例對象的類必須保證只有一個實例存在。許多時候整個系統(tǒng)只需要擁有...
    _SHYII閱讀 1,119評論 0 2
  • 單例模式 介紹 為了節(jié)約系統(tǒng)資源,有時需要確保系統(tǒng)中某個類只有唯一一個實例,當這個唯一實例創(chuàng)建成功之后,我們無法再...
    666真666閱讀 422評論 0 6
  • 1. 單例模式 確保某一個對象只有一個實例,而且自行實例化并向整個程序提供這個實例。 優(yōu)點 由于單例模式在內存中只...
    Mr希靈閱讀 6,545評論 0 5
  • 秋風蕭瑟, 吹零一樹, 干枯了的葉兒…… 我獨自一人, 徘徊于林巷, 小心翼翼地, 踏著布滿青苔的, 光滑的石階,...
    水云怒閱讀 555評論 1 3

友情鏈接更多精彩內容