2013-06-18 40 views
0

從啓動中保存變量以便在後面的表單中使用的最佳做法是什麼?存儲用於不同形式的變量的最佳做法是什麼?

例如,如果他們對記錄進行了任何更改,我有一個用戶名需要存儲以進行日誌記錄。該應用程序有多種形式,不斷傳遞它似乎不切實際。

+0

你可以使用Singleton或MonoState。 –

+0

雖然它經常需要請在實現任何全局變量之前看看這個問題http://stackoverflow.com/questions/7026507/why-are-static-variables-considered-evil/7027536#7027536 – Johnv2020

+0

我傾向於贊成實例方法 – Sayse

回答

2

您可以將這些變量保留爲程序集中任何位置的靜態成員,並在任何地方使用它們,而無需使用singleton,否則請使用類似靜態配置類的東西,但如果您確實想要正確地使用它,會推薦一個用戶相關的會話對象,可以像皮埃爾說的那樣使用單例返回。

UPDATE

有人似乎誰不讀整後downvoted我的答案,所以我想我應該澄清它多一點。如果你知道自己在做什麼並且適用於所有事情,那麼在使用靜態變量時就沒有問題,但在這種情況下,我甚至說我會使用一個非靜態的用戶相關對象,所以我希望OP做出明智的選擇。

+0

作爲靜態成員投票作爲靜態成員使用未經仔細考慮後可能會導致問題 - 請參閱問題http://stackoverflow.com/questions/7026507/why-are-static-variables-considered-evil/7027536#7027536 – Johnv2020

+0

Your downvote是相當可悲的,因爲我指出了正確的做法。自2001年成爲Java/C#開發人員以來,我知道「危險」或使用靜態成員。寫一些建設性的東西。 – Marco

0

我建議不使用任何靜態很容易。首先想想,什麼時候需要這些變量,以及誰(或什麼)需要它們? 難道你不能使用一個包含它們的類,並將它實例化一次,並在需要它的對象之間共享它?

如果確實需要到處都是,而且「應該」是靜態的,那麼也許在某個幫助類中使它成爲靜態。

相關問題