2016-08-17 150 views
0

我有一個數據庫中需要爲用戶生成並通過電子郵件發送的報告類型(對象)列表/打印/保存在硬盤等。查詢數據庫以查看對象列表,以便從該列表創建對象:正確的方法

一個報告('skeleton')是數據庫中的一行。

我的問題是:我應該爲一行查詢結果創建一個單獨的對象 - 「骨架」報告對象,然後使用此對象來創建結束「報告」對象。這是處理這種任務的正確方法嗎?

我被告知創建一個方法並從數據庫中獲取行集比較容易。然後解析創建報告所需的參數所需的行集,創建結束報告對象等。

回答

1

我不完全確定我是否正確理解您的問題,但我認爲您想知道是否應該填寫一個包含來自數據庫的數據的對象,並在創建報告時解析對象,或者只是將結果集傳遞給創建方法?

我會推薦使用一個對象'Skeleton'並填充這個,因爲您可以稍後重用它,並且它使得我認爲代碼方式更具可讀性。

有關此軟件的更多信息: 在許多應用程序中,MVC模式用於構建您的程序。在這種模式下,你的程序分爲三層,第一層爲你的UI(VIEW),第二層爲你的buisness logic(Controller),第三層爲你的持久性數據(Model)。這些圖層只通過表示數據的域模型對象進行通信(在您的情況下,這將是'骨架'對象,也稱爲POJO)。如果您突然想要從數據庫更改爲文本文件或任何其他持久性策略,這一點尤其有用,因爲您只需更改模型層,同時保持其他圖層大多相同(特別是在使用接口時)。你可以在互聯網上找到很多這種模式,對於大多數標準應用程序,我肯定會推薦它

+0

感謝您的回答,您理解正確。我正在計劃使用工廠模式生成不同類型的報告,並使用庫模式處理填充報告對象所需的數據集合。 –

+1

ahh ok,在這種情況下,你應該仍然使用一個特殊的'Skeleton'對象,因爲它只是更可讀的方式,可能更容易在你的工廠中使用 – LuckAss

+0

現在的問題應該是骨架對象可以作爲主對象重用,還是應該僅用於收集主要對象的數據。 :)抱歉,如果它是以複雜的方式陳述。 –