【发布时间】:2017-12-23 20:57:15
【问题描述】:
我正在存储和解析 xml 文件,这些文件会随着时间的推移而演变,因此在存储时我也会存储格式的版本。
当我加载一个 xml 文件时,我会得到文件的版本,并基于这个版本,我使用一个特定的 java 类来处理它。 xml 格式每隔几周就会更改一次,因此正在创建一个新类并将其添加到类列表中。我可以随时加载任何版本的 xml(例如,今天我可以加载两年前使用 v02 版本创建的 xml 文件,而目前是 v26 版本)
这类问题有设计模式吗?是否有针对此类问题使用依赖注入的设计模式?
目前我有一个定义DocumentParser 的java 接口,并且我有几个DocumentParsers,每个都在不同的包中(例如com.parsers.v1.DocumentParserImpl),我有一个提供程序类DocumentParserProvider 来使用版本提供正确的解析器(例如@987654324 @)。接口 api 永远不会改变,也就是说我们总是从我们的接口问同样的事情。
有没有更好的方法或者有这个问题的名称?
【问题讨论】:
-
正如你在问题中提到的,依赖注入是设计模式。
标签: java design-patterns