粗糙分析設計模式 單例模式

2021-07-10 15:58:28 字數 1086 閱讀 5215

一山不容二虎,哎 ,這次就粗糙講解一下單例模式,單例模式是為了讓系統中存在乙個例項,避免同時存在兩個例項下命令,試想一下,如果軟體同時向印表機傳遞命令,那麼印表機不就亂了嘛(臥槽,我該聽誰的),所以,單例模式的存在是非常有必要的,同時,還能減少系統的開銷,如果例項乙個類開銷非常大,單例模式也是非常實用的。

單例模式主要是由一下的幾個分類:

這是懶漢式(懶嘛,所以延遲載入,用的時候在建立例項)

public

class single

public

static single getsingle()

return msingle;

}}

如果考慮到多執行緒模式的話,又是一頭包。多執行緒的話可以加一把鎖

有下面幾種方法

public

class single

public

static synchronized single getsingle()

return msingle;

}}

public

class single

public

static single getsingle()

}return msingle;

}}

public

class single

private

static

class singleinstance

public

static single getsingle()

}

下面是餓漢式(管他呢,先把例項建立了再說)

public

class single

private

static final single msingle = new single();//一上來就建立,不講道理,所以是執行緒安全的,,天生驕傲。

public

static single getsingle()

}

設計模式之單例模式分析

單例模式分為兩大類 懶漢式和餓漢式 其最主要的區別在於 懶漢式 指全域性的單例例項在第一次被使用時構建 餓漢式 指全域性的單例例項在類裝載時構建 日常我們使用的最多也是懶漢式,懶漢式是按需載入,能夠做到資源的最大利用 懶漢式 雖然這樣寫沒什麼問題,但是如果是多執行緒時可能出現問題了,如果多個執行緒同...

設計模式 單例模式

單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...

設計模式 單例模式

class testsingleton static public function instance return self testsingleton private function clone public function setsinvar sinvar public function ...