2009-08-02 53 views
5

當我們想要部署Web應用程序時,我們應該使用單例Object還是使用Static來代替? 使用它們每個的瓶頸是什麼? 我應該知道內存問題,併發問題和...。單身vs靜態偏好和缺陷

PS:發生什麼事了,這是剛剛可讀類(應使用靜態或單身)

PS 2:發生什麼事了,這是可讀的類和可寫

回答

3

最後它會出現在你的情況下,singleton/static方法都可以工作。我認爲在這兩種情況下,你的助手方法都是純粹的,不要使用或需要任何狀態。最終使用單例會給你一些額外的選擇,例如模擬的可能性。通過使用一個類而不是靜態幫助者,可能存在這樣的可能性:在未來的某個時候,可能會改進設計或者可能會替代不同的策略。與靜態助手你幾乎卡住了。

由於您的方法是純併發不會因爲沒有共享狀態而成爲問題。

2

靜態:單一實例之間共享所有線程 - 對靜態成員的任何訪問都將返回相同的實例 。創建其他相同類型的實例沒有限制。

Singleton:整個應用程序的單個實例。在應用程序中不能創建此類型的其他實例。

+0

「全靜態」類很奇怪。沒有什麼「事物」由類的一個實例表示。如果沒有「東西」,爲什麼要在第一個地方定義類定義? – 2009-08-02 12:56:52

+1

我的意思是「靜態實例」而不是「全部靜態類」。爲了組織的目的,所有靜態類都有一些用法。 – 2009-08-02 13:14:43