設計模式 單例模式

2021-10-08 01:48:44 字數 1498 閱讀 1272

設計模式是一套被反覆使用、多數人知曉的、經過分類的、**設計經驗的總結。分為建立型模式,結構性模式,行為模式,建立型模式就是處理物件建立的設計模式,建立型模式有兩個主導思想構成。一是將系統使用的具體型別封裝起來,二是隱藏這些具體類的例項建立和結合的方式。結構型模式通過對多個類和物件進行組合得到複雜結構的類,一般使用繼承或者成員變數引用形式來實現,行為型模式:行為模式不僅表達了物件和類,還表達了他們之間的互動,涉及到了物件和演算法的分配.

單例模式就屬於建立型模式,對某個類只能存在乙個物件例項,並且該類只提供乙個取得物件例項的方法.特點就是構造器私有化,類內部建立物件,向外暴露乙個公共的靜態方法.

餓漢式 在類裝載的時候就完成了例項化,但是如果從始至終從未使用過這個例項,則會造成記憶體浪費.

public

class

hungry

private

final

static hungry hungry =

newhungry()

;public

static hungry getinstance()

}

懶漢式

class

singleton

public

static singleton getinstance()

}return singleton;

}}

雙重檢測

public

class

lazyimprove

else}}

private

volatile

static lazyimprove lazy;

/** * 雙重檢測 dcl懶漢式

* @return

*/public

static lazyimprove getinstance()

}}return lazy;

}/**

* 多執行緒併發

*/public

static

void

main

(string[

] args)

throws exception

}

靜態內部類實現

public

class

holder

public

static holder getinstance()

public

static

class

innerclass

}

列舉類

/**

* enum jdk1.5之後 本身也是乙個class類

* @author maomao

*/public

enum enumsingle

}class

test

}

設計模式 單例模式

單例模式 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 ...

設計模式 單例模式

單例模式的目的是保證類在系統中只被例項化一次,由該唯一的例項來為系統提供服務.單例模式主要用於保證服務的統一,比如獲取統一的編號服務,模仿oracle的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...