1

私は2つのアプリケーションを開発しています。1つ目はデスクトップjavaアプリケーションで、2つ目はAndroidアプリです。この2つのアプリは、それらの間で通信する必要があります。

現在、それらはXMLファイルの受け渡しと解析を通信します。問題は、さまざまなXMLがあり、それらを解析するときに、どのオブジェクトを構築する必要があるかを知る必要があることです。

今のところ、のルートを解析しXML、名前に応じて残りを「スイッチ」構造で解析します。それは機能しますが、それは最善の方法ではないと思います。

誰かが私を助けることができるデザインパターンまたはすでに定義されたアーキテクチャを知っていますか?

4

2 に答える 2

2

私が正しく推測している場合、アプリケーションが通信するためにXMLとの間でシリアル化/逆シリアル化しているので、チャネルの両端にオブジェクトがあります。

もしそうなら、JAXBはデスクトップ側のニーズをカバーするはずです。なぜなら、それがすでにAndroidに付属しているかどうか、またはAndroidアプリにapkサイズの制限があるかどうかはわかりません。

すでにそれを行っていて、「スイッチ」を取り除く方法が唯一の問題である場合、最終的には常に何らかの選択肢があります。それは、ステートメントまたは構成ファイル内の値である可能性がありますが、本質的にはそれはあなたのためのファクトリパターンですが、私は抽象的なファクトリパターンをもう少し読みます、あなたはすでにそれの基本を持っています、おそらくそれはそれを磨くか、設定ファイルに値を移動して作成プロセスを自動化するだけの問題です、オブジェクトに共通のインターフェイスが必要になると確信しています。

お役に立てば幸い

于 2012-09-11T12:54:03.500 に答える
0

ルート要素名ではなく、XML名前空間に依存することをお勧めします。これが、オブジェクトを区別し、必要に応じてXMLスキーマを使用してオブジェクトを検証する方法です。

それに加えて、 HATEOASを念頭に置いて、プロトコルはRESTfulである必要があると思います。XMLは、その種のアーキテクチャに最適な言語です。

于 2012-09-11T12:54:05.870 に答える