回答
將單身存儲在文件中。
不需要您需要一個地方來存儲單身人士。
依賴注入是一種可能性。由於您的問題不是特定於任何編程語言,因此我沒有發佈特定於框架的語法(例如Ninject)
使用DI,您只需將存儲器從靜態變量移動到DI容器。此外,你正在失去單身人士的許多好處 - 強制執行單個實例。使用DI,您依賴於用戶始終使用DI框架,該框架可以在內部強制實施單實例規則,但無法阻止DI之外的代碼創建其他實例。 – 2010-11-05 04:00:26
作爲面試問題的答案,其本身更像是一種'讓我們看看候選人如何思考'的類型,這很好。 – akf 2010-11-05 04:35:52
@akf,接受記者採訪時,它能夠解釋該方法的肯定和否定是很重要的。 – 2010-11-05 13:39:46
- 1. 如何在不創建實例變量的情況下使變量可用
- 2. 如何在這種情況下實現多線程?可能嗎?
- 3. 如何在不調用方法的情況下使用變量
- 4. 如何在不使用AppDomains的情況下實現.net插件?
- 5. 如何在不使用「set!」的情況下實現「letrec」?
- 6. 如何在不使用ListView的情況下實現CursorLoader?
- 7. 如何在不使用指針的情況下實現鏈表?
- 8. 如何在不使用^的情況下實現XOR?
- 9. 如何在不創建新變量的情況下引用現有變量?
- 10. 如何在不使用req和res.locals的情況下在NodeJS中實現ThreadLocal變量功能?
- 11. 如何在不使用變量的情況下編程scala DSL?
- 12. 如何在不使用DRBD的情況下實現Rabbitmq高可用性?
- 13. 如何在不使用混合列表的情況下實現此功能?
- 14. 如何在不使用變量值的情況下創建類實例?
- 15. 我可以在沒有任何實例變量的情況下使用decltype嗎?
- 16. 在不使用Singleton的情況下封裝昂貴的資源
- 17. 如何在這種情況下使變量全局可訪問?
- 18. 在不創建Python實例的情況下引用類變量
- 19. 如何在不改變變量的情況下進行遞歸
- 20. 如何使用chart.js實現零散圖表,默認情況下不可用?
- 21. 如何在不使用ListActivity的情況下實現ListView? (只使用活動)
- 22. 在不使用密碼的情況下在Java中實現RSA
- 23. 如何在不使用上下文的情況下聲明全局變量?
- 24. 如何在不使用已棄用的Notification類的情況下實現startforeground?
- 25. 如何在不使用類型的情況下使用GET傳遞變量?
- 26. 變量不會在目前情況下
- 27. 在不使用註釋的情況下實現SOAPHandler @HandleChain
- 28. 在不使用Modernizr的情況下實現這個結果?
- 29. 如何在不使用OpenGL ES的情況下使UIImage變亮?
- 30. 如何在不使用android的情況下實現android應用程序?
爲什麼要關注使用靜態全局變量?只要你正確使用單例方法,你就沒事。 – prolink007 2010-11-05 03:08:13