特定のタイプ (たとえば、MyClass
) のオブジェクトを作成するファクトリ クラスがあります。
ファクトリ クラスは特定のパッケージに属しており、テスト目的で、そのパッケージの実装と新しいバージョンを動的に切り替えたいと考えています。
たとえば、元のパッケージがpack1
で、新しいバージョンがpack2
で、クラス名がpack1.Factory
と であるとしpack2.Factory
ます。pack1
またはの選択はpack2
、プロパティ ファイルの単純なパラメータを介して指定されます。さらに、MyClass
タイプは両方のパッケージで共通であり、プレーンなバニラ Java (つまり、サードパーティ ライブラリではない) のみを使用する必要があります。
または (指定されたプロパティに応じて)のClass.forName()
いずれかをロードし、リフレクションを介してすべてのファクトリメソッドを呼び出すために使用することを考えています。pack1.Factory
pack2.Factory
それが最善のアプローチですか?