私はxmlファイルを保存して解析しています。これらのファイルは時間の経過とともに進化しますので、保存するとバージョンも保存されます。クラス/アルゴリズムの複数のバージョンのデザインパターン
xmlを読み込むとファイルのバージョンが取得され、このバージョンに基づいて特定のJavaクラスを使用して処理します。 xml形式は数週間ごとに変更され、新しいクラスが作成され、クラスのリストに追加されます。どのバージョンのXMLでもロードすることができます(現在、バージョンv02の2年前に作成されたxmlファイルをロードできます)。
この種の問題の設計パターンはありますか?この種の問題に対して依存性注入を使用するデザインパターンはありますか?
現在私はDocumentParser
を定義するJavaインターフェースを有し、私は別のパッケージ内のいくつかのDocumentParsers各々(例えばcom.parsers.v1.DocumentParserImpl
)を有し、私はバージョン(例えばpublic DocumentParser get(String version);
)を使用して適切なパーサーを供給するために、プロバイダクラスDocumentParserProvider
を有します。インターフェースapiは決して変更されません。つまり、私たちは常に私たちのインターフェースから同じことを尋ねます。
これを行うには良い方法がありますか、この問題の名前がありますか?
あなたが質問で言及したように、依存性注入はデザインパターンです。 –