2008-10-02 41 views
1

我們正在使用MVC模式構建一個網站。到目前爲止,我們構建的所有頁面都使用了必須對引用數據進行操作的模型(在網站第一次加載時緩存)。 但是現在我們已經達到了流程的那個階段,我們必須處理事務性數據(這是特定於該流程)。到目前爲止,我們通過提供所有數據來創建模型類,因爲它們都已被緩存。但是現在我們必須處理事務性數據,我們應該在事先獲得所有數據並創建一個模型對象的情況下做同樣的事情,或者我們應該讓模型類通過進行服務調用來獲取數據。模型應用服務調用獲取數據

回答

0

第一種方法的缺點是可能永遠不會使用預先獲取的數據。所以我們用模型獲取數據的第二種方法。爲了分離模型和服務調用,我們使用了一個接口。替代品是受歡迎的。

+0

這不是一個真正的答案。這更多的是對原始問題的修改。你可能想編輯你的問題並添加它。 – 2008-10-02 18:42:59

0

模型對象是通過對數據庫的查詢構建的。這是一般的方法。

模型對象可以通過對其他服務器和數據庫的Web服務請求構建。這幾乎是一回事。

如果 - 對於某些性能調整 - 您預先構建所有模型對象,那很好。這是一個特例。

我更喜歡使用ORM上午層來處理對象緩存,所以我不預取東西。而是保留在ORM緩存中。

1

如果你真正使用MVC,那麼你的控制器應截獲應採取的具體行動,調用任何數據相關的請求,並推數據到模型對象,因此,該模型可以被放置到視圖。使模型從數據庫中填充本身幾乎沒有什麼好處,因爲您已經有了一個可以以更有凝聚力的方式完成工作的控制器。

-1

在真正的MVC中,模型負責根據控制器的指令更新自身。因此,是的。型號,只有型號,應該撥打服務電話

相關問題