我正在存儲和解析xml文件,這些文件隨着時間的推移而演變,所以當存儲時我也存儲格式的版本。多種版本的類/算法的設計模式
當我加載一個XML我得到的文件的版本,並基於這個版本我使用特定的Java類來處理它。 xml格式每隔幾周就會更改一次,因此正在創建一個新類並將其添加到類列表中。我可以隨時加載任何版本的xml(例如,今天我可以加載兩年前創建的版本爲v02的xml文件,而當前版本爲v26)
是否有這種問題的設計模式?有這種問題使用依賴注入的設計模式嗎?
目前我有一個Java接口限定DocumentParser
和我有每個在不同的包數DocumentParsers(例如com.parsers.v1.DocumentParserImpl
),我有一個提供者類DocumentParserProvider
使用的版本(例如public DocumentParser get(String version);
),以提供適當的解析器。界面API永遠不會改變,那就是我們總是從我們的界面問同樣的事情。
有沒有更好的方法來做到這一點或有沒有這個問題的名稱?
正如你在問題中提到,依賴注入的設計模式。 –