設(shè)計(jì)模式之單例模式

單例模式,可以說(shuō)是設(shè)計(jì)模式中最簡(jiǎn)單的一個(gè)。

這個(gè)模式相對(duì)于其他幾個(gè)模式相比較獨(dú)立,只需要負(fù)責(zé)控制自己的實(shí)例化數(shù)量單一,而需要考慮為用戶(hù)產(chǎn)生什么樣的實(shí)例,是一個(gè)給人感覺(jué)特別干凈純凈的模式。

Android中很多地方用到了單例模式。單例模式能夠以其特有的優(yōu)勢(shì),替代系統(tǒng)中的全局變量,應(yīng)用非常廣泛。

意圖:

保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。

結(jié)構(gòu):

Android中有很多系統(tǒng)級(jí)別的全局變量,如時(shí)間,輸入法,賬戶(hù),狀態(tài)欄等。Android中對(duì)這些都直接或者間接用到了單例模式。

在多線程的環(huán)境下,單例模式為了保證自己實(shí)例數(shù)量的唯一,必然會(huì)做并發(fā)控制。

效果:

1)創(chuàng)建型模式。

2)對(duì)唯一實(shí)例的受控訪問(wèn)。

3)避免全局變量污染命名空間。

4)允許對(duì)操作和表示的精化。

5)比類(lèi)操作更靈活。

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

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

  • 前言 本文主要參考 那些年,我們一起寫(xiě)過(guò)的“單例模式”。 何為單例模式? 顧名思義,單例模式就是保證一個(gè)類(lèi)僅有一個(gè)...
    tandeneck閱讀 2,627評(píng)論 1 8
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評(píng)論 25 709
  • 一.什么是單例模式 單例模式的定義:確保一個(gè)類(lèi)只有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)他的全局訪問(wèn)點(diǎn)。單例模式是幾個(gè)設(shè)計(jì)模式中...
    Geeks_Liu閱讀 2,329評(píng)論 0 10
  • 之前在開(kāi)發(fā)中老用到一些設(shè)計(jì)模式可是呢又不是很懂,于是狠下心來(lái)琢磨一番。下面是我琢磨后總結(jié)的,希望對(duì)您有用。如果發(fā)現(xiàn)...
    于闐閱讀 2,915評(píng)論 2 5
  • 眼瞅著長(zhǎng)假即將結(jié)束,行程中還有的景點(diǎn)沒(méi)時(shí)間去了,我們都有些懊惱,可是也沒(méi)有辦法,坐在回程的車(chē)上情緒不高??墒前】墒?..
    干涸的海閱讀 464評(píng)論 0 4

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