2017-05-05 11 views
-1

ローン書類を処理できるJavaおよびSpringフレームワークを使用してシステムを設計する必要があります。さまざまなローンタイプがあり、それぞれに別々のフォームがあります。これらのフォームは、約300〜500フィールドを有することができる。また、ある程度データを操作する必要があります。システムは変更の履歴を保存する必要があるため、1つの段階から別の段階に進む場合があります。ローン処理システムに関する問い合わせ

現在、データベーステーブルに保存するように設計しています。しかし、私たちが多くのエンティティクラスを作っていて、たくさんのフォームを作っているので、これを行うことは非常に面倒です。

どのようにこのようなシステムを設計できますか?データをxmlまたはjsonファイルに保存する方が良いですか?

答えて

1

免責事項 - 何を修正するか、どのくらい修正するか、クライアントシステム上の任意の帯域幅制約をサポートしているユーザーの数など、適切な詳細を見ずには難しいですが、ここに行きます。

"xmlファイルまたはjsonファイルにデータを保存する方が良いですか?" メモリフットプリント、多言語対応、予想応答時間などを考慮してください。

両者の利点は、後で任意のDBにデータを保存できることです。 「システムに変更の履歴を保存し、それを別の段階から行くことが必要であるとして」彼ら(XML/JSON)は

データを格納するためのシステムとしませ間でデータを共有するための最も適合している - どのくらいの各フィールドの変更を保存するか、フォームにアクセスした人物の詳細と時間を保存する必要があります。 How to Store Historical Data

デザインの一部いくつかのポインタ(過剰性能に注意してください)

  1. インメモリ(速度が原因の形であまりにも多くのフィールドに問題である場合)DBは、あなたのケースで役立つかもしれません。
  2. テンプレートパターン - アプリケーションで構造を強制するデザインの場合に役立ちます。
  3. デコレータパターン - 「データをある程度操作する必要がある」部分。
  4. 戦略パターン - 変更アルゴリズムを切り離したい場合(「データをある程度操作する必要があります」)
  5. フリー・レングス・ベースのフィールド/パーツは、MongoDB、Casandraなどのようなものを使用しています。
  6. ロギングはAOPを使用します。

THUMB RULE - アーキテクチャ内のレイヤー数が多いほど、洗練されていますが、エンジニアリングには注意してください。

レイヤリングの概念では、ロギングと同じように簡単なことが言えます - Spring + SLF4J + Logback/log4jなど SLF4Jは他のロギングフレームワークを使用するレイヤーです。

最後にどれだけ遠くに行きたいのですか? - クライアントの予算を読み込みます。それまで問題が実体を書いている場合は、一つのことに完全データベースまたはエンティティ他の部分の設計ツールによって生成することができます:)

ハッピー設計:)

-

QUICK-FIX

関連する問題