下面這段話是轉載的解釋:
Singleton Pattern(單例模式)
改善全局變量和命名空間的沖突,可以說是一種改良了的全局變量。這種一個類只有一個實例,且提供一個訪問全局點的方式,更加靈活的保證了實例的創建和訪問約束。
有時候在使用類的時候,這個類必須存在,但是我們又要求這個類在整個工程中只能有一個對象,無論什么時候調用都只能調用這唯一的一個對象,怎么做呢?
這種模式的核心跟javaBean有點類似,不同在于單例模式要求創建并私有化一個對象,同時私有化構造方法,重寫構造方法使其返回這個對象。為了能夠使用這個對象,我們在其中創建一個靜態的Get方法用來返回該對象。
一般的我們會用兩種單例模式的方法,一個是延遲加載,又叫懶漢式,另一個是非延遲加載,又稱餓汗式。區別在于前者是在調用的時候才生成對象,而后者則是事先生成對象;方法區別在于是否把生成對象放入get方法(可以加入判斷如果該對象不存在就new一個,存在的話就返回該已存在的對象)。
這種思想在很多地方都會使用,用同樣的思想我們可以解決更多的問題。
23種模式想了解更多的話可以去谷歌看看。我們重點不是掌握幾種方法,而是駕馭這種思想,靈活使用這種方法。高內聚,低耦合,在寫程序之前就要對整個過程了解很透徹,而不是邊寫邊想究竟該怎么布局。
posted on 2011-10-26 12:57
人稱小雨 閱讀(144)
評論(0) 編輯 收藏