2017-05-05 32 views
-1

我需要設計一個使用java和spring框架的系統來處理貸款文檔。有各種貸款類型,並且每個都有獨立的表單。這些表格可能有大約300到500個字段。數據也需要在一定程度上被操縱。正如系統需要保存更改的歷史一樣,它可能會從一個階段轉到另一個階段。關於貸款處理系統的查詢

目前我們正在設計它將其保存在數據庫表中。然而,這樣做非常乏味,因爲我們一直在製作很多實體類,並且也製作了很多表單。

我該如何設計這樣的系統?將數據保存在xml或json文件中更好嗎?

回答

1

免責聲明 - 很難回答,沒有看到任何適當的細節修改和修改多少,用戶數量支持客戶端系統上的任何帶寬限制等,但在這裏你去。

「將數據保存在xml或json文件中更好嗎?」 考慮內存足跡,多語言支持,預期響應時間等。

他們的優點你可以在以後的任何數據庫中存儲數據。 他們(XML/JSON)是系統之間不能共享數據最適合用於存儲數據

「在系統中需要保存更改的歷史,它可以從一個階段到另一個」 - 多少需要保存每個字段的更改或者只是訪問表單的人員的詳細信息以及多少時間。 How to Store Historical Data

設計部分幾個指針(當心了工程)

  1. 在內存數據庫可能會在你的情況幫助(如果速度是一個問題,由於在表單字段太多)。
  2. 模板模式 - 可以幫助您在設計的情況下強制應用程序中的結構。
  3. 修飾器模式 - 用於「需要在一定程度上處理數據」的部分。
  4. 策略模式 - 如果你想分開你的修改算法(「數據需要被操縱到一定程度」)。
  5. 貸款文件字段/部分是基於自由長度的類型使用MongoDB,Casandra等。
  6. 日誌記錄使用AOP。

糟糕的規則 - 它們在體系結構中的層數越多,獲得的精度就越高,但要小心過度的工程設計。

分層的概念讓我們可以在日誌中說一些簡單的東西--Spring + SLF4J + Logback/log4j等 SLF4J是讓您使用任何其他日誌記錄框架的圖層。

最後這一切都取決於你想走多遠? - 閱讀客戶預算。

速戰速決 - 如果問題是寫實體然後設計一個東西完全可以通過工具生成的數據庫或其他實體部分:)

快樂設計到那時:)