[英]MVC architecture control flow
我有點困惑,這三個組件-模型,視圖,控制器-在MVC體系結構中如何相互影響。 有時我感覺我知道MVC的工作原理,有時我感覺我不知道它的內部工作正常。
我對MVC架構的了解是-
在我看來,View從不直接與模型對話。 視圖和模型之間的交互將僅由Controller處理。
到現在為止還挺好!
但是當我看到如下圖時,我會感到困惑。 在下圖中,左箭頭表示View組件也可以與Model組件進行交互。
同樣在此代碼項目文章中,還寫道:“控制器和視圖都可以訪問模型”和“視圖可以使用模型顯示數據”。
因此,請澄清是僅控制器可以訪問模型還是控制器和視圖都可以訪問模型。 如果第二個也是正確的,那么在什么情況下這是可能的。 我使用ASP.NET MVC Framework,在這里任何交互都是通過控制器對象完成的。 我從未遇到視圖直接與模型對象對話的情況。
有MVC(該模式)和MVC(由Microsoft開發並以該模式混亂地命名)的Web應用程序框架,因此最好將兩者分開討論。
在MVC模式中,您將找到以下內容:
在MVC中,Web應用程序框架:
盡管名稱如此,MVC框架僅松散地實現了MVC模式。 但是,在這兩種模型中,控制器和視圖都可以訪問模型,因此您對模型的基本理解存在缺陷。 但是,對於MVC框架,您可以說視圖只能訪問視圖模型。 由於MVC框架中的“模型”不僅僅是一件事,因此視圖不應訪問某些組成部分,即:DAL層和潛在的實體,除非實體作為視圖模型承擔雙重責任,也一樣
如果視圖是任何模型的強類型輸入,那么我們可以說
查看=>模型
如果視圖不是用模型強類型化的,那么我們可以說
控制器=>模型=>視圖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.