0

我有一个应用程序,它能够在应用程序运行时更改属性时重新加载属性,即运行中!

我创建了一个 Singleton 来保存我的应用程序需要的所有配置属性,这样我就不必在我的代码中的“n”个位置导入我的“PropertyLoader”库。所有的属性都val在 Singleton 中。然后,我在需要该属性的任何地方导入此对象。像这样将配置属性存储在单例中是一种好习惯吗?

我的下一个问题是:我是否应该将这些vals 设为defs 以便属性的新值在其更改时得到反映?或者我应该将它们更改为lazy vals 以便在属性的初始化引发异常(例如:错误类型)时受益,它将尝试在下次访问时重新初始化 val。lazy val(顺便说一句。我在阅读 Viktor Klang 的推文后测试了这种行为: https ://twitter.com/viktorklang/status/104483846002704384

类型安全配置库 ( https://github.com/typesafehub/config ) 在这方面有什么启示吗?

4

0 回答 0