2012-04-27 83 views
0

我正在創建一個應用程序,我正在使用MVC模式。爲此,我正在考慮將我的視圖作爲jsps,控制器作爲servlet和模型作爲DAO對象。我懷疑我將DAO對象視爲模型是對還是錯?什麼是MVC模式的模型

回答

2

MVC中的模型就是業務邏輯所在的地方。

看着the sun Java EE pattern definitions我們看到DAO封裝了持久性機制並被業務對象使用。因此,我不會將DAO視爲具有任何商業邏輯。

在簡單系統中,一些數據庫表或數據庫(存儲過程,參照完整性檢查,觸發器)中實現業務邏輯的那些表達式,DAO實際上是業務邏輯前面的一個表面,所以它們幾乎看起來像模型。因此,在一些介紹性資料中,您可能會將DAO看作模型的唯一Java表達式。

當我們選擇在Java中實現業務邏輯時,它將位於DAO之上的一層,例如使用DAO的Session Beans,在我看來,它是Session Bean或等效模型。

所以問問自己:業務邏輯在哪裏?這就是模型真正的地方。

4

模型不是DAO。這是一個層,它包含了所有的域的邏輯,並且從兩種類型的元素大多組成,具有下列職責:

  • 業務邏輯
  • 數據訪問(通常作爲DataMapper實現)

這個想法是,商業邏輯不應該與存儲機制聯繫在一起。在創建發票時,如果數據來自SQL數據庫,MSWord文檔,遠程REST API或只是模擬數據,則該域對象不應該在意。

您可能會覺得這篇文章有趣且相關:GUI Architectures

相關問題