0

我想了解MVC模式,我終於明白了很多。有一個概念我還不太明白。我已經瀏覽了試圖解釋MVC的所有帖子,但這個問題還沒有清楚地回答。模型或控制器中的MVC變量?

您是在模型中還是在控制器中創建變量?

我可以看到有人將控制器中的變量傳遞給模型以更改變量中保存的數據,但是在模型中創建它們會更好,然後從控制器調用它們的值?或者,最好在模型中創建變量,並將它們的值複製到控制器中的相同變量中?

如果您知道,請解釋爲什麼一個人比另一個人好。我要求瞭解,不只是要知道正確的答案。謝謝。

回答

0

在應用程序的整個生命週期中所需的持久性數據應該保存在模型中。模型方法調用來設置,獲取和操作模型中的數據應由控制器完成。

由應用程序或視圖(由於任何原因)所需的臨時數據可以在控制器中保持...但是不應該在控制器中持有持久數據,因爲它被認爲是一個糟糕的MVC設計模式實現。

1

如果我給了

你創建的模型或控制器或兩個變量一個直截了當的答案嗎?

這並不重要。

後面模型控制器的主要思想是

  • 控制器僅駐留表示邏輯
  • 模型僅限居住業務邏輯
  • 所以,如果你想用不同的表達邏輯來呈現你的模型,你可以得到你現有模式出來,因爲你的業務邏輯&表示邏輯分離用新控制器插上它沒有任何問題(沒有彼此混合)。

這是我發現MVC架構的最佳圖表。希望你可以用這個升級你的理解。

enter image description here

所以在變量而言,在型號你應該只對業務邏輯的目的變量。在控制器中,它僅用於演示目的。 :))

+0

這是一個很好的圖,但你可以看到我的困惑所在。即使有這個漂亮的圖表,甚至沒有提到變量。 – user2470057

+0

@ user2470057在控制器內部使用變量完全沒有問題,只要它們不與應用程序的業務邏輯混合即可。實際上Model是Controller的服務提供者。 :)) –

+1

@ user2470057如果我改進了你的陳述,我會說「控制器負責呈現邏輯,保存變量,調用模型來更新存在於控制器中的變量,並調用視圖來更新根據UPDATED變量存在於控制器中「。 :)) –

相關問題