java - 使用静态配置类是好的做法吗?

标签 java android

<分区>

在我目前正在开发的项目中,我有很多配置设置。诸如此类的事情

  • 闹钟时间
  • 要从服务器检索的项目数量
  • LocationManager 整数,例如最小位置

这些都是static final,都在一个对应value的类中。

我的问题是,将所有这些值移动到单个静态类是否有任何问题?

我的想法是,在测试和调整应用程序时,它会更容易管理。

最佳答案

基于@Snicolas 的回答...

您确实应该在代码(文件或数据库)之外保留您的 CONFIGURATION 设置。但是您不应该在每次需要一个值时“读取”该配置,否则效率很低。

使用类来管理配置(即 AppSettings)是个好主意。使其静态化是提供类单例访问的一种方式。在 C# 和 ASP.NET 中,Web 应用程序将保证一个且只有一个静态类实例,因此来自不同用户的多个不相关请求将共享完全相同的静态值。

但在您的情况下(我看到标签“android”)使用 Java,您最好的选择可能是 Singleton方法。我不知道垃圾收集在 Java 中是如何工作的,但我会说你应该使用单例来确保你的设置只有一个实例。单例确保一个实例存在(如果不存在则创建一个),然后将其提供给调用者。

这还可以更轻松地支持在应用运行时更改配置值的能力——您可以定期“观察”设置更改。

我不是 Java 专家,但如果没有一个库来处理这个问题,我会感到惊讶(当然不是真的)。​​

关于java - 使用静态配置类是好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13385531/

相关文章:

具有多个父项的 Activity 的 Android 向上导航

java - 来自不同类(class)的绘画

java - JSP 尝试将 String 数组转换为 Int 数组

android - 某些 Moto 360 不加载圆形布局

android - 在 NestedScrollView 中的 TextInputEditText 中选择文本时出现问题

php - 从 php 网站检索数据到 Android 应用程序

java - Tic Tac Toe - 如果用户想再次玩,如何使程序重新启动

java - 房间架构导出目录 - 找不到参数的方法 javaCompileOptions()

java - 在JTable中,我通过extendind AbstractTableModel创建自定义表模型并使用它,只出现默认列名(A,B,C,D,..)

android - HttpResponseCache 不清除旧文件?