JAVA設計模式與追MM:[4]單一職責原則?

俺有6個漂亮的老婆,她們的老公都是我,我就是我們家裡的老公Sigleton,她們只要說道“老公”,都是指的同一個人,那就是我(剛才做了個夢啦,哪有這麼好的事)

工具/原料

eclipse

java

定義

單例模式確保某一個類只有一個例項,而且自行例項化並向整個系統提供這個例項單例模式。單例模式只應在有真正的“單一例項”的需求時才可使用。

理解

單例模式是一種物件建立型模式,使用單例模式,可以保證為一個類只生成唯一的例項物件。也就是說,在整個程式空間中,該類只存在一個例項物件。其實,GoF對單例模式的定義是:保證一個類、只有一個例項存在,同時提供能對該例項加以訪問的全域性訪問方法。

需求

在應用系統開發中,我們常常有以下需求:

- 在多個執行緒之間,比如servlet環境,共享同一個資源或者操作同一個物件

- 在整個程式空間使用全域性變數,共享資源

- 大規模系統中,為了效能的考慮,需要節省物件的建立時間等等。

因為Singleton模式可以保證為一個類只生成唯一的例項

物件,所以這些情況,Singleton模式就派上用場了

實現

1.餓漢式。

2.懶漢式。

3.雙重檢查。

注意事項

注意死鎖

原則, 職業, 職責, 設計模式,
相關問題答案