隨筆-5  評(píng)論-0  文章-0  trackbacks-0
              下面這段話是轉(zhuǎn)載的解釋?zhuān)?br />     

           Singleton Pattern(單例模式)

           改善全局變量和命名空間的沖突,可以說(shuō)是一種改良了的全局變量。這種一個(gè)類(lèi)只有一個(gè)實(shí)例,且提供一個(gè)訪問(wèn)全局點(diǎn)的方式,更加靈活的保證了實(shí)例的創(chuàng)建和訪問(wèn)約束。
              有時(shí)候在使用類(lèi)的時(shí)候,這個(gè)類(lèi)必須存在,但是我們又要求這個(gè)類(lèi)在整個(gè)工程中只能有一個(gè)對(duì)象,無(wú)論什么時(shí)候調(diào)用都只能調(diào)用這唯一的一個(gè)對(duì)象,怎么做呢?
              這種模式的核心跟javaBean有點(diǎn)類(lèi)似,不同在于單例模式要求創(chuàng)建并私有化一個(gè)對(duì)象,同時(shí)私有化構(gòu)造方法,重寫(xiě)構(gòu)造方法使其返回這個(gè)對(duì)象。為了能夠使用這個(gè)對(duì)象,我們?cè)谄渲袆?chuàng)建一個(gè)靜態(tài)的Get方法用來(lái)返回該對(duì)象。
              
              一般的我們會(huì)用兩種單例模式的方法,一個(gè)是延遲加載,又叫懶漢式,另一個(gè)是非延遲加載,又稱餓汗式。區(qū)別在于前者是在調(diào)用的時(shí)候才生成對(duì)象,而后者則是事先生成對(duì)象;方法區(qū)別在于是否把生成對(duì)象放入get方法(可以加入判斷如果該對(duì)象不存在就new一個(gè),存在的話就返回該已存在的對(duì)象)。
              這種思想在很多地方都會(huì)使用,用同樣的思想我們可以解決更多的問(wèn)題。

              23種模式想了解更多的話可以去谷歌看看。我們重點(diǎn)不是掌握幾種方法,而是駕馭這種思想,靈活使用這種方法。高內(nèi)聚,低耦合,在寫(xiě)程序之前就要對(duì)整個(gè)過(guò)程了解很透徹,而不是邊寫(xiě)邊想究竟該怎么布局。
              
                  

          posted on 2011-10-26 12:57 人稱小雨 閱讀(146) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 石门县| 望城县| 正蓝旗| 金阳县| 太仓市| 博客| 萨迦县| 昭苏县| 涟源市| 集贤县| 辽阳县| 文水县| 黄山市| 龙井市| 辽源市| 葵青区| 东明县| 西青区| 赤壁市| 阿瓦提县| 天柱县| 辰溪县| 丰原市| 武冈市| 城步| 灵寿县| 大兴区| 寿阳县| 舟山市| 吉首市| 清镇市| 革吉县| 福泉市| 哈巴河县| 娄烦县| 房产| 晴隆县| 福贡县| 汕头市| 岱山县| 林周县|