真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaQ&A:使用Singleton模式?給我一個理由先!(轉(zhuǎn))

Java Q&A: 使用Singleton模式?給我一個理由先! (轉(zhuǎn))[@more@]

Java Q&A: 使用Singleton模式?給我一個理由先!

Q: 在很多地方我都看到使用了Singleton類。我的問題是:較之一個包含static方法(methds)的類,使用Singleton具有什么優(yōu)點呢?

A: 不使用包含static方法的類而使用Singleton,其區(qū)別在于,后者可以帶來有效的面向?qū)ο笤O計。Singleton通常展示的是一種更清晰的方法。而一個包含static方法的類只不過是函數(shù)或公用子程序(utilities)的簡單羅列。

你會問,羅列一組函數(shù)有什么問題?

很簡單。羅列函數(shù),你就不是在進行面向?qū)ο缶幊?;你的工作實際上倒退到了傳統(tǒng)的面向過程的程序設計中。悄然之間,對象不再是程序的焦點,而你自己也陷入到以數(shù)據(jù)為中心的程序設計模式中。換句話說,你不再是向包裝了狀態(tài)和行為的對象發(fā)送消息,而是針對數(shù)據(jù)進行函數(shù)調(diào)用。公用子程序必然造成行為和數(shù)據(jù)完全分離,而這一點在面向?qū)ο笤O計中是絕不允許的。

也不是說完全不能使用公用子程序。面向?qū)ο蟮墓米映绦虼_實存在。有時也需要將對象當作數(shù)據(jù)來處理。例如,我曾寫了一套公共子程序,用來將Java對象轉(zhuǎn)換成相應的Corba形式。很難將那些方法寫成一個類,因為它們確實沒有狀態(tài)信息;我也不想將轉(zhuǎn)換代碼嵌入到Java類中。然而,這確實容易帶來混亂。

對于系統(tǒng)中的某個類,如果想讓它無論什么時候只有一個實例存在,這種情況下可以使用Singleton。例如有這樣一個類,它提供對CORBA server的訪問,還要做到負載平衡。這時候就不要使用多個這樣的對象,因為每個對象都會和相同的server打交道。占用冗余資源當然浪費。所以,對server的訪問最好集中到一個實例之中。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比臨渭區(qū)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式臨渭區(qū)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋臨渭區(qū)地區(qū)。費用合理售后完善,10年實體公司更值得信賴。



本文題目:JavaQ&A:使用Singleton模式?給我一個理由先!(轉(zhuǎn))
文章網(wǎng)址:http://weahome.cn/article/geopie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部