2011-03-01 94 views
0

我在數據庫中有預定義的表格,我必須開發一個web應用程序。我應該根據數據庫中的數據結構創建模型類嗎?

我是否應該將模型類基於表中的數據結構。

但問題是這些表格的定義非常差,並且其中有很多冗餘數據(我無法更改!)。

例如,在兩張表中三列是相同的。

Table: Student_details 
Student_id , Name, AGe, Class ,School 

Table :Student_address 

Student_id,Name,Age, Street1,Street2,City 

回答

0

我認爲你應該讓你的模型最適合他們的使用方式。不要擔心數據的存儲方式或存儲位置,否則爲什麼要經歷層疊代碼的麻煩。爲什麼不直接在視圖中直接進行數據庫查詢?所以,如果你要創建一個數據的抽象......「模型」......製作一個圍繞如何使用它的設計......而不是它將如何被使用或被持久化。

+0

所以根據你的方法我應該使用什麼上述場景?我應該在哪裏將我的數據處理邏輯放在struts應用程序中? – 2011-03-02 04:42:54

+0

我使用業務邏輯 - 數據訪問對象 – 2011-03-02 04:43:21

0

這似乎是一個危險的項目 - 大概還有另一個應用程序填充這些表的地方。由於數據模型從關係角度來看並不是很合理,所以我猜測有很多業務/數據邏輯粘貼到該應用程序中 - 例如,將學生年齡放入StudentAddress表中。

我會支持jsobo,建議您建立獨立於基礎持久性機制的業務邏輯,並且儘量保持模型儘可能專注於領域,而不過分強調數據庫的結構。

但是,您應該計劃花費一定的時間將域模型轉換爲其各自的數據表示形式,並處理數據模型施加的任何怪癖。我強烈建議在一個單獨的翻譯層中包含所有這些東西 - 不要在整個應用程序的其餘部分亂扔垃圾。

相關問題