我已經閱讀了大量關於網絡和堆棧的討論,聲稱單身人士是邪惡的。 像: root-cause-of-singletons 和Why is Singleton considered an anti-pattern?Java Spring服務是單身嗎?
我讀到這樣的評論「單身使代碼複雜,疼痛重用和測試」。 我使用的是具有無狀態單例的Spring服務的代碼,我無法看到這些點在這裏如何保存。
這樣的服務是否也被認定爲不好的做法,爲什麼?或者所有的辯論都只限於有狀態的單身人士?
我已經閱讀了大量關於網絡和堆棧的討論,聲稱單身人士是邪惡的。 像: root-cause-of-singletons 和Why is Singleton considered an anti-pattern?Java Spring服務是單身嗎?
我讀到這樣的評論「單身使代碼複雜,疼痛重用和測試」。 我使用的是具有無狀態單例的Spring服務的代碼,我無法看到這些點在這裏如何保存。
這樣的服務是否也被認定爲不好的做法,爲什麼?或者所有的辯論都只限於有狀態的單身人士?
你與Singleton設計模式,其患有的問題,談到你提及物質混淆Spring的單身人士(普遍好事)。
Singleton模式假定存在引用單例對象的全局變量static
。它通常還會假定用於管理單例生命週期的許多樣板代碼(例如,懶惰地初始化它)。
Spring既不會讓您實現Singleton模式,也不會在內部使用它。 Spring單例是通過聲明創建的,並將它們連接在一起形成完整的對象圖,包括循環依賴關係的解析。
(註釋爲答案可讀性。)
單身本質上並沒有邪惡,他們只是很容易誤用。
如果你是不管理對象的單身性問題,甚至沒有問題。
我不同意其他有關單身人士的狀態;雖然它可以做錯,但有許多單身模式的狀態工作得很好,例如一個池。
春天的單身漢是有罪的,如果它是有狀態的。無狀態單是細:
邪惡只與有狀態的單身人士 – ControlAltDel 2014-11-03 17:59:53
@ControlAltDel我不明白爲什麼這個問題是「主要是基於意見」。正如Marko所回答的那樣,我指出的辯論顯然是單身模式,並且與Spring的單身人士沒有關係。 – tunetopj 2014-11-04 19:00:45