2017-03-08 76 views
2

在MVC中,View的標準職責是什麼?研究互聯網上的書籍,例子和圖表,我發現了模型,視圖和控制器類之間完全不同的交互方法。在MVC中,View的標準職責是什麼?

即,在這些情況下,視圖類不能直接訪問模型。

View Cannot Access Model

View Cannot Access Model 2

然而,在這個例子中,該視圖應代表從模型數據和具有與模型類的交互。並沒有與控制器交互。

Model Updates View

在其它實例中,視圖類具有與兩個模型和控制器類相互作用:

View interacts with both model and controller 1

enter image description here

所以我有點不解大約哪一個是標準方式或最佳做法。

謝謝你的回覆。

綠本地產 軟件工程師,作者 http://www.mynameismidori.com

+1

你從哪裏得到這些照片你有什麼來源?我建議遵循大公司的做法,微軟(https://msdn.microsoft.com/en-us/library/dd381412(v=vs.108).aspx)就是一個很好的例子 –

+1

重要的是,視圖不得操縱模型中的數據。它可以直接從模型讀取,也可以通過控制器調用間接讀取。但要改變模型,它必須要求cotroller這樣做。 –

回答

1

我認爲,最後兩個圖是完全針對於MVC邏輯。表示層應與業務邏輯隔離。如果您需要從視圖層的業務邏輯獲取任何信息,則必須將它們傳遞到控制器中具有響應上下文的表示層。此外,如果您需要根據您的要求操縱模型端的任何信息,則必須在您的控制器端找出這個問題:)

此致。