を持つオブジェクトのビルド:私が構築したい私は、Java 1.6</p> <p>シナリオ使用しています入れ子にentities.Designパターン
<pnr>
<outbound>
<travellers>
<person>
<name></name>
<address></address>
</person>
<person>
<name></name>
<address></address>
</person>
</travellers>
<segments>
<segment>
<from></from>
<to></to>
<date></date>
<flight-details>
<flight-id></flight-id>
</flight-details>
</segment>
<segment>
<from></from>
<to></to>
<date></date>
<flight-details>
<flight-id></flight-id>
</flight-details>
</segment>
</segments>
</outbound>
<inbound>
...
</inbound>
</pnr>
:私はこのようになります「PNR」と呼ばれるエンティティの構造を持っている を上記のXMLのような構造を持つオブジェクト 私はこのようになりますクラス「PNR」の対象で始まる:
class Pnr{
Outbound outbound;
Inbound inbound;
}
//Outbound
class Outbound{
...
}
//Inbound
class Inbound{
...
}
エンティティのネストが次の各エンティティはクラスによって表されます。
ネストされたPnrオブジェクトを作成するためのデザインパターンを提案してください。
私はビルダーパターンを通過しました。 私の場合: 1)コンストラクタに渡すパラメータがあまりにも多くありません。 2)私たちはPnrオブジェクト全体を構築したいと思っています。だから我々は、異なるパラメータリストを持ついくつかのコンストラクタを必要としない。
しかし、私はネストされたエンティティの構築を効果的に処理しなければなりません。 私はまだビルダーパターンと一緒に行くべきですか?
どのデザインパターンがこのようなケースに適しているかお考えください。
ありがとうございました!
私は実際にこの問題を理解していません。なぜ 'Inbound'と' Outbound'オブジェクトを 'Pnr'コンストラクタに渡すことができませんか? –
*「私は次のgoogleを構築する必要があります。どのデザインパターンがその問題を解決してくれますか?」「いいえ、それはそうではありません。デザインパターンはアルゴリズムではなく、プログラムを構成するための推奨事項です。 JAXB BTWを見てみることをお勧めします。 xjdを使用してxsdスキーマからオブジェクト構造を生成することもできます。 – fabian
@JornVernee私はそれを行うことができます。しかし、私は、インバウンドオブジェクトを構築するメソッドを書かなければなりません。次のように:内部でbuildTravellers()を呼び出すbuildInbound()は、buildAddress()を再度呼び出すbuildPerson()を呼び出します。これらのメソッドをすべてヘルパークラスに入れて処理を進めることができます。しかし、より良い方法がありますか? – user3427320