單例模式學習筆記 by:西瓜

該文參考與百度百科觅赊。僅用于自我學習揽涮。

什么叫單例模式?

百度上面是這樣定義的:單例模式是一種常用的軟件設(shè)計模式。在它的核心結(jié)構(gòu)中只包含一個被稱為單例的特殊類橡娄。通過單例模式可以保證系統(tǒng)中寄纵,應(yīng)用該模式的類一個類只有一個實例鳖敷。

單例模式最初的定義出現(xiàn)于《設(shè)計模式》保證一個類僅有一個實例,并提供一個訪問它的全局訪問點程拭。一個類有且僅有一個實例定踱,并且自行實例化向整個系統(tǒng)提供。

單例模式要點恃鞋?

1.某個類只能有一個實例崖媚。

2.必須自行創(chuàng)建這個實例。

3.必須自行像整個系統(tǒng)提供這個實例恤浪。

具體的實現(xiàn)要點畅哑?

1.單例模式的類只提供私有的構(gòu)造函數(shù)。

2.類定義中含有一個該類的靜態(tài)私有對象资锰。

3.該類提供了一個靜態(tài)的公有的函數(shù)用于創(chuàng)建或獲取它本身的靜態(tài)私有對象敢课。

優(yōu)缺點阶祭?

1.單例模式會阻止其他對象實例化其自己的單例對象的副本绷杜,從而確保所有對象都訪問唯一實例。

缺點

1.雖然數(shù)量很少濒募,但如果每次對象請求引用時都要檢查是否存在類的實例鞭盟,將仍然需要一些開銷」逄辏可以通過使用靜態(tài)初始化解決此問題齿诉。

2.使用單例對象(尤其在類庫中定義的對象)時,不能使用new關(guān)鍵字實例化對象。

3.其他類可以刪除對象實例粤剧,但這樣會導致單例類中出現(xiàn)懸浮引用歇竟。

單例模式分為哪幾種?

懶漢式:懶漢式是時間換空間省空間抵恋,也就是每次獲取實例都會進行判斷焕议,看是否需要創(chuàng)建實例,浪費判斷的時間弧关。當然盅安,如果一直沒有人使用的話,那就不會創(chuàng)建實例世囊,則節(jié)約內(nèi)存空間别瞭。

餓漢式:餓漢式是的空間換時間省時間,當類裝載的時候就會創(chuàng)建類實例株憾,不管你用不用蝙寨,先創(chuàng)建出來,然后每次調(diào)用的時候嗤瞎,就不需要再判斷了籽慢,節(jié)省了運行時間。

單例的嚴謹性猫胁?

這里附上一個代碼測試結(jié)果箱亿,什么樣的單例寫法才是正確的。傳送門:《單例嚴謹性測試》

這個內(nèi)容是<NSCopying>弃秆,詳情請點擊傳送門届惋。

思考:1.單例為什么這么寫?

? ? ? ? ? ?2.單例的原理菠赚?

? ? ? ? ? ?3.項目中大量使用單例好嗎脑豹?

? ? ? ? ? ?4.單例的適用場景??

? ? ? ? ? ?5.適用場景的依據(jù)衡查?

? ? ? ? ? ?6.餓氏單例為什么很少使用瘩欺?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拌牲,隨后出現(xiàn)的幾起案子俱饿,更是在濱河造成了極大的恐慌,老刑警劉巖塌忽,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拍埠,死亡現(xiàn)場離奇詭異,居然都是意外死亡土居,警方通過查閱死者的電腦和手機枣购,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門嬉探,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人棉圈,你說我怎么就攤上這事涩堤。” “怎么了分瘾?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵定躏,是天一觀的道長。 經(jīng)常有香客問我芹敌,道長痊远,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任氏捞,我火速辦了婚禮碧聪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘液茎。我一直安慰自己逞姿,他們只是感情好,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布捆等。 她就那樣靜靜地躺著滞造,像睡著了一般。 火紅的嫁衣襯著肌膚如雪栋烤。 梳的紋絲不亂的頭發(fā)上谒养,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機與錄音明郭,去河邊找鬼买窟。 笑死,一個胖子當著我的面吹牛薯定,可吹牛的內(nèi)容都是我干的始绍。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼话侄,長吁一口氣:“原來是場噩夢啊……” “哼亏推!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起年堆,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤吞杭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嘀韧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體篇亭,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡缠捌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年锄贷,在試婚紗的時候發(fā)現(xiàn)自己被綠了译蒂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡谊却,死狀恐怖柔昼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情炎辨,我是刑警寧澤捕透,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站碴萧,受9級特大地震影響乙嘀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜破喻,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一虎谢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧曹质,春花似錦婴噩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宅静,卻和暖如春章蚣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背姨夹。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工究驴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人匀伏。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓洒忧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親够颠。 傳聞我的和親對象是個殘疾皇子熙侍,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 單例模式(SingletonPattern)一般被認為是最簡單、最易理解的設(shè)計模式履磨,也因為它的簡潔易懂蛉抓,是項目中最...
    成熱了閱讀 4,257評論 4 34
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 29,417評論 8 265
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,113評論 1 32
  • 今天二姐帶著大外女兒來家里串門兒我超級稀飯大外女兒二姐家條件一般 所以自己總想著能給大外女兒買點啥而且小時候二姐也...
    面包和牛奶都會有的閱讀 279評論 0 0
  • 愛情的結(jié)果就是婚姻,對于一個在婚姻中受傷的人來說剃诅,估計都覺得愛情太假了巷送,當初的山盟海誓都化成了烏云,當初的激情都變...
    板命的魚閱讀 190評論 0 0