小编awk*_*rts的帖子

类/算法的多个版本的设计模式

我正在存储和解析 xml 文件,这些文件会随着时间的推移而演变,因此在存储时我还会存储格式的版本。

当我加载 xml 时,我会获取该文件的版本,并根据该版本使用特定的 java 类来处理它。xml 格式每隔几周就会更改一次,因此会创建一个新类并将其添加到类列表中。我可以随时加载任何版本的 xml(例如,今天我可以加载两年前使用 v02 版本创建的 xml 文件,而当前版本为 v26)

有针对此类问题的设计模式吗?是否有使用依赖注入的设计模式来解决此类问题?

目前,我有一个定义 a 的 java 接口DocumentParser,并且每个文档解析器都位于不同的包中(例如com.parsers.v1.DocumentParserImpl),并且我有一个提供程序类DocumentParserProvider来使用版本(例如public DocumentParser get(String version);)提供正确的解析器。接口 api 永远不会改变,也就是说我们总是从接口中请求相同的事情。

有没有更好的方法来做到这一点或者这个问题有一个名称吗?

java design-patterns

3
推荐指数
1
解决办法
3775
查看次数

标签 统计

design-patterns ×1

java ×1