特定のタイプのオブジェクト(たとえば、MyClass
)を作成するファクトリクラスがあります。Javaでの動的クラスとパッケージのロードに最適なアプローチ
ファクトリクラスは特定のパッケージに属しており、テスト目的でそのパッケージ内の実装と新しいバージョンを動的に切り替える必要があります。
言って、例えば、元のパッケージであることをpack1
pack1.Factory
と
pack2.Factory
で、
pack2
です。
pack1
または
pack2
の選択は、プロパティファイルの単純なパラメータによって指定されます。さらに、
MyClass
タイプは両方のパッケージで共通であり、プレーンなバニラJava(サードパーティライブラリなし)のみが使用されます。
pack1.Factory
またはpack2.Factory
(指定されたプロパティによって異なる)のいずれかをロードしてから、すべてのファクトリメソッドをリフレクションで呼び出すことを考えています。
は、最善のアプローチですか?
私は同意しません。反射は、良心的に使用されていれば問題ありません。私はここでそれを使うことが非常に適切だと思います。 – ControlAltDel