将大量变量添加到已经很大的 class

Adding a large number of variables to an already large class

目前正在处理一个庞大的 java class 现有应用程序。 这个class的初始化从properties文件中读入了大量的设置来填充大量的变量。

正在实施新功能,这需要在另外十几个变量中读取另外十几个属性。

一种选择是只添加变量和关联的 getter/setter 调用。

我考虑的另一个选择是实现内部 class 并让构造函数接受对属性文件的引用。然后它可以使用引用来填充所有属性。这个内部 class 将容纳相关的 getter/setter 调用。

为了尽量减少混乱,推荐使用这种 class 的方法是什么?

这是一个自以为是的问题,但我会尝试将 class 拆分为多个 class。如果你真的需要 class,在同一个包中创建几个新的 classes 并在其中进行初始化,从 "main" [=20] 的构造函数中传入属性对象=].这样,您将拥有配置值的所有吸气剂,从而有效地创建组合外观。

这可能是这样的:

public class Configuration {
  private DBConfiguration dbConfiguration;

  public Configuration() {
    Properties props = readPropertiesFile();
    dbConfiguration = new DBConfiguration(props);
  }

  public String getConnectionString() {
    return dbConfiguration.getConnectionString();
  }
}

[更新] 除了拥有更简洁的代码外,它还允许您优雅地 @deprecate Configuration class 中的方法并慢慢切换到更专业的配置 classes.