2014-09-25 83 views
2

我有一個與MVP設計模式有關的問題。在MVP設計模式中,誰負責訪問數據庫

我有一個傳遞給主持人的所有事件視圖。演示者擁有商務邏輯並更新視圖。該模型只是JPA entities的集合。

的問題是,誰是負責訪問數據庫和檢索模型?

我首先想到的是,這是一個主持人的責任。但是,想象在幾個頁面中需要相同的業務邏輯,例如,驗證用戶是否有權訪問某些內容。在這種情況下,業務邏輯將出現在多個演示者類中,這不是很好。

什麼是最好的實現?

回答

0

這聽起來像你感興趣的MVPMVC之間的差異。請注意,MVP是經典MVC架構的一個更新變體,關鍵在於誰訪問模型(請參閱維基百科文章中的不同圖)。

在經典的MVC模式,無論是查看和控制訪問模型,而只是演示在MVP的訪問。另請注意,在MVP中,並非所有業務邏輯都必須位於Presenter中。從維基百科,「在視圖中允許的邏輯程度因不同的實現而異...視圖...可能是處理特定交互或命令的最佳位置

第二個問題的答案當然是,「這取決於你正在執行的是什麼。」如果您認爲MVP會在您的特定應用程序的Presenter中導致重複的邏輯,請考慮將某些邏輯移動到View,或考慮切換到MVC模式。