可能重複:
What is so bad about Singletons?
Singleton Design Pattern: Pitfalls辛格爾頓反模式
我聽到很多這一點,但din't找到它的公司的原因。
Avoid the singleton anti-pattern and replace it with DI.
但是,爲什麼?
可能重複:
What is so bad about Singletons?
Singleton Design Pattern: Pitfalls辛格爾頓反模式
我聽到很多這一點,但din't找到它的公司的原因。
Avoid the singleton anti-pattern and replace it with DI.
但是,爲什麼?
有狀態的單例更難以進行單元測試。
我使用無狀態singletons,我沒有看到問題。
由於單身人士可以實現接口,它們可以使用依賴注入傳遞(也應該這樣傳遞如果可能)
如果單身人士是無國籍人士,那麼爲什麼有單身人士而不是靜態方法的集合? – Servy
沒有這種「無國籍的單身人士」。 –
一個無狀態的單例可以實現一個接口。假設你有一個'Marshaller'接口,它在功能上將一個Object變成一個'byte []'並返回。你希望能夠通過DI傳遞不同的策略,這意味着你必須有一個實例通過。對於每個實現都有其自己的類可能有多個實現,但是如果它們是無狀態的,則只需要一個實例。 –
謝謝,編輯和鏈接問題:) –
[這](https://開頭WWW .michaelsafyan.com/tech/design/patterns/singleton)鏈接可能會給你一些好的指示。 – RBT