問題背景:正確使用共享靜態「隨機」單例實例?
目前,我有我的代碼一對夫婦的「隨機」一些情況 - 在這裏我需要一個隨機生成的數字追加到某些文件夾,我創建的名稱 - 在兩個班使用。一旦工作 - 在這種情況下將文件映射到這些新文件夾 - 完成後,它們會立即刪除。
代碼:
我在每一個提到的類下面的代碼的兩個私有靜態實例:
private static randomNo = new Random((int)DateTime.Now.Ticks);
單身?還是兩個靜態實例?:
到目前爲止,我還沒有遇到任何重複問題。我仍然覺得我應該開發一個單例來在我的整個解決方案上共享一個靜態隨機數對象實例。
我正在使用IoC(Unity)來創建我所有的類,我不知道如何去處理共享靜態隨機實例?我可以在每個需要它的課程中「新建」單身課程嗎?或者這會導致靜態隨機實例重置?我是否需要創建一個單例類並在需要隨機生成的數字的類之間傳遞它?
我應該提到我確實有檢查以確保當使用附加的隨機數創建新文件夾名時,我確保名稱不存在。
潛在的問題對我來說不是很清楚。你談論重複。你的意思是說不同的發電機可以產生相同的數字嗎?一個發電機也可以連續兩次產生相同的數字。 – GolezTrol
@GolezTrol我想我想知道的是我可以堅持兩個私有靜態變量,因爲我現在有?或者,實施一個單身人士最好的做法是?我只是想知道是否需要在類之間傳遞一個Singleton實例? – user1352057
你也可以通過一個單身人士。優點是你的應用程序不會嚴重依賴它是一個單例。如果你只是從你的應用程序的任何地方調用單例,那麼重構它將會有更多的工作。另一方面,你什麼時候需要改變它,以及將會有多少個電話... – GolezTrol