私は現在、JDKの標準DOMパーサーを使用してXML解析を行っています。JDK DOMパーサー:なぜ工場ですか?
しかし、私は、これがFactoryパターンのポイントが何であるかを理解する良い時期になると考えました。
"ユーザーが 'Dog'を文字列として入力した場合、AnimalFactoryを使用して 'Dog'を認識して対応するオブジェクトをインスタンス化することができます。この例では、実行時に必要なものがわからない場合に役立ちます。
このような例では、私の見落としが原因で実際にはポイントが得られませんし、JDKの標準DOMパーサでFactoryが実装されている理由を理解することができます) でる。だからここにある:
私は、XML文書を読み込むことのみによってようのDocumentBuilderFactoryオブジェクトから取得することができてDocumentBuilderオブジェクト - のインスタンス化が必要であることを読んだ:
今、私たちを可能にDocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
File myFile = Paths.get(fooPath).toFile();
builder.parse(myFile);
しかし、なぜプロセスがファクトリパターンにメリットがありますか? DocumentBuilderが独自の明示的なコンストラクタを持ち、同じ方法でファイルを渡すよりも、上記のアプローチが優れているのはなぜですか?
この場合、同様の目的を持つオブジェクトのコンストラクタを整理するのは単なる質問ですか?
ありがとうございます。