我有一個網格,當用戶關閉窗體,我要保存誰已登錄用戶的一些設置,我已經有2種實現方法,但我想知道哪裏來實現這個功能。哪裏可以實施保存用戶特定設置?
- 要我創建了兩種方法
- 我應該創建一個新的類,並命名一個像UserSettingsManager靜態實用工具類?
現在我有兩種方法,但我可以想象,我將來需要更多的方法。我該怎麼辦?
編輯: 我已經看到了幾個答案(日Thnx爲該),但你也說你爲什麼會去那個選項?
我有一個網格,當用戶關閉窗體,我要保存誰已登錄用戶的一些設置,我已經有2種實現方法,但我想知道哪裏來實現這個功能。哪裏可以實施保存用戶特定設置?
現在我有兩種方法,但我可以想象,我將來需要更多的方法。我該怎麼辦?
編輯: 我已經看到了幾個答案(日Thnx爲該),但你也說你爲什麼會去那個選項?
我會去的UserSettingsManager
,聽起來很有道理。
避免靜態類,除非絕對必要的,因爲這樣的類不太容易測試/模擬/高於正常上課注入。
您的最後一句話太籠統了。如果靜態類只包含與系統無關的不可變狀態,或者根本沒有狀態,則靜態類非常好。當然,這裏的狀態既是系統依賴的也是可變的,所以在這裏避免它們是正確的選擇。 – CodesInChaos
我會選擇第二種方法,因爲靜態類很難模擬。
至於這種功能所需要的狀態是在當前的Windows主體對象已可提供,靜態函數靜態類就可以了。
只要做你能想到的最簡單的事情。如果靜態工具類使用最少量的代碼,那麼就去做吧。
該應用程序似乎很簡單,這應該沒問題。有時候,在以某種方式進行編碼並使用這些方法後,您會突然發現一個更好的位置。
如果在未來,你有節能設置的另外一種途徑(比如,不同的文件格式或Web服務),那麼你就可以開始考慮重構它。和總是重構與使事情更簡單的目標!
Windows提供具有正確設置權限的文件夾來存儲用戶特定的信息。
使用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
或Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
得到相應的路徑。
封裝在一個類如UserSettingsManager
...在這種情況下,避免static
,因爲這些系統是依賴和可變的。
一些參考:
D'哦。對不起,發佈了一個答案,但沒有注意到「用戶特定」部分。排隊刪除...:p –