将大量变量添加到已经很大的类中

时间:2016-10-17 19:44:00

标签: java attributes large-files

目前正在使用现有应用程序的HUGE java类。 此类的初始化从属性文件中读取许多设置以填充大量变量。

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

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

我想到的另一个选项是实现一个Inner类,让构造函数接受引用属性文件。然后它可以使用引用来填充所有属性。这个内部类将包含相关的getter / setter调用。

为了帮助减少混乱,推荐使用这种类的方法是什么?

1 个答案:

答案 0 :(得分:1)

这是一个高度自以为是的问题,但我会尝试将类拆分为多个类。如果你真的需要一个类,在同一个包中创建几个新类并在那些中进行初始化,从“main”类的构造函数中传入属性对象。在那里,你将获得配置值的所有getter,有效地创建一个组合外观。

这可能是这样的:

public class Configuration {
  private DBConfiguration dbConfiguration;

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

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

[update]除了具有更清晰的代码外,它还允许您优雅地@deprecate Configuration类中的方法,并慢慢切换到更专业的配置类。