單例模式

單例模式(Singleton Pattern):單例模式確保某一個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例,這個類稱為單例類,它提供全局訪問的方法。

單例模式的要點有三個:一是某個類只能有一個實例;二是它必須自行創(chuàng)建這個實例;三是它必須自行向整個系統(tǒng)提供這個實例。單例模式是一種對象創(chuàng)建型模式。單例模式又名單件模式或單態(tài)模式。

優(yōu)點:

? ? ? ?1.提供了對唯一實例的受控訪問;

? ? ? ?2.由于系統(tǒng)只存在一個對象,節(jié)約了系統(tǒng)資源;

缺點 :

? ? ? ? 1.單例類的職責(zé)過重,在一定程度上違背了“單一職責(zé)原則”;

? ? ? ? 2.濫用單例將帶來一些負(fù)面問題,如為了節(jié)省資源將數(shù)據(jù)庫連接池對象設(shè)計為單例類,可能會導(dǎo)致共享連接池對象的程序過多而出現(xiàn)連接池溢出;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目錄 1、設(shè)計模式簡介 2、什么是單例模式 3、單例模式應(yīng)用場合 4、單例模式作用 5、單例模式3個要點/要素 6...
    greensure閱讀 1,386評論 1 10
  • 目錄 本文的結(jié)構(gòu)如下: 什么是單例模式 為什么要用該模式 模式的結(jié)構(gòu) 代碼示例 優(yōu)點和缺點 適用環(huán)境 模式應(yīng)用 總...
    w1992wishes閱讀 476評論 1 2
  • 模式動機 對于系統(tǒng)中的某些類來說,只有一個實例很重要,例如,一個系統(tǒng)中可以存在多個打印任務(wù),但是只能有一個正在工作...
    lijun_m閱讀 419評論 0 0
  • 單例模式(Singleton):在應(yīng)用這個模式時,單例對象的類必須保證只有一個實例存在。許多時候整個系統(tǒng)只需要擁有...
    _SHYII閱讀 1,099評論 0 2
  • 概念 確保某一個類只有一個實例,而且自行實例化,并向整個系統(tǒng)提供一個訪問它的全局訪問點,這個類稱為單例類。 特性 ...
    野狗子嗷嗷嗷閱讀 612評論 0 2

友情鏈接更多精彩內(nèi)容