我目前正在使用JDK的标准DOM解析器进行XML解析。
然而,我认为现在是理解工厂模式的好时机。之前我尝试找到工厂模式的实用性例子,但很多解释都试图使用以下示例:
“如果用户将“Dog”输入为字符串,我们可以使用AnimalFactory识别“Dog”并实例化相应的对象,在运行时不知道我们需要什么时非常有用。”
这些例子并没有真正让我明白工厂模式的重点(也许是因为我忽略了某些东西),我觉得理解为什么在JDK的标准DOM解析器中实现工厂模式会真正帮助我(以及其他人)。所以在这里:
我读到读取XML文档需要实例化一个DocumentBuilder对象-只能从DocumentBuilderFactory对象中检索,如下所示:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
现在我们可以像这样将一个文件对象传递给它:
File myFile = Paths.get(fooPath).toFile();
builder.parse(myFile);
但是,为什么要使用工厂模式来处理进程?为什么上面的方法比DocumentBuilder拥有自己显式构造函数并以同样的方式传递文件更好呢?
在这种情况下,只是将有相似用途的对象的构造函数进行组织吗?
提前感谢。