アプリケーションの構成を取得するファクトリ クラスがあります。
public class ConfigurationFactory {
private static ConfigurationFactory configurationFactory = new ConfigurationFactory();
private Configuration configuration = null;
public static ConfigurationFactory getConfigurationFactory() {
return configurationFactory;
}
そして、構成をどこから取得しているかに応じたいくつかの getConfiguration メソッド (ファイル、データベース、デフォルトなど...):
public Configuration getConfiguration(String path){...}
public Configuration getConfiguration(String database){...}
私の問題は、各メソッドの単体テストを行うときに、別のソースからロードするためにシングルトンを再起動する必要があることです。そのため、思いついたのはこれを追加することだけです:
public void resetConfiguration() {
this.configuration = null;
}
そして、私はそれを行うために開発者の地獄で燃え尽きる気がします:)
私の質問:このメソッドを追加せずに他の方法はありますか?
注: 私はこれを見ましたが、Spring や Guice のような DI フレームワークは使用できません。管理者は、このプログラムはサーバー上でデーモンとして実行することを目的としているため、フレームワークを追加するとプロジェクトが重くなると考えています。