状況は次のとおりです。特定のクラスを使用して構成パラメータにアクセスしてアクセスするライブラリを使用しています。 configローダークラスは、いずれかのライブラリで実装されています。 私がやったことはされています。今、私はへの変更を適用せずに既存のライブラリは、私の互換性BetterConfigLoaderを使用したいJavaクラスを拡張し、既存のライブラリで拡張クラスを使用するように強制する
public class BetterConfigLoader extends OldConfigLoader {
...
}
:それは私の要件に適合し、さまざまな設定ソースをロードすることができるように設定ローダークラスを拡張しますライブラリを再コンパイルする必要はありません。 これを達成するためのベストプラクティスの方法はありますか?
ハードコードされた参照がありますか? – MiH
@MiHライブラリのコードからの呼び出しの例はありますか?彼らは直接コンストラクタを呼び出すのですか、あるいは静的ファクトリメソッドを使用していますか?後者の場合、 'OldConfigLoader'コードを変更することができれば、静的ファクトリメソッドが' BetterConfigLoader'を返すようにすることができます。 –
コンストラクタを呼び出します。私は実際にOldConfigLoaderのコードを変更したくないのですが、これは互換性のある既存のライブラリの一部です – MiH