2015-04-02 44 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

相关问题