2015-04-02 69 views
0

我有一個桌面搖擺應用程序。我在整個應用程序中都需要某些配置數據。我加載配置。從應用程序加載數據庫開始,目前在公共靜態最終地圖中保持不變。什麼是更好的替代方法?將配置設置存儲在桌面應用程序中的最佳做法是什麼?

+0

我寧願一個Singleton在''static'或HashMap'也許'Preferences' API的方法之一代替。看看[這](http://stackoverflow.com/questions/19556932/how-to-save-the-state-of-my-minesweeper-game-and-then-load-it/19557052#19557052)討論更多細節 – MadProgrammer 2015-04-02 02:07:51

+0

我看到了你的帖子。 Singleton對我來說看起來不錯,因爲Preferences API不會爲我提供一旦加載後更改首選項值的句柄。糾正我,如果我錯了。我應該能夠改變任何偏好的價值。我選擇了Map,就像我們在基於Web的應用程序中使用ThreadLocal對象一樣。 – vijayinani 2015-04-02 02:14:32

+3

'Preferences'是一種存儲機制,如果你通過API持久保存值,它們將會改變。但是,既然你似乎已經堅持照顧,它可能並不完全合適。單例允許你定義和控制訪問 – MadProgrammer 2015-04-02 02:17:47

回答

0

有很多方法可以做到這一點,是使用property file(鍵值風格)

+0

配置在DB中,也可以是一個對象。 – vijayinani 2015-04-02 02:10:13

+0

如果您正在嘗試保存對象,則可能需要查看序列化/反序列化對象並將它們寫入文件,以便以後再次加載它們。如果你有很多對象,你可以嘗試以下兩種方法的組合:屬性文件和緩存在文件中的對象 - 希望對你有幫助 – Edi 2015-04-02 02:15:29

+1

這對我來說是bug,但是對於長期存儲的目的,序列化/反序列化是一個壞主意,它根本就不是爲此而設計的。 OP已經擁有一個持久層,即數據庫,他們只需要從應用程序中訪問它 – MadProgrammer 2015-04-02 02:18:53

相關問題