我有点搞不懂这三个组件--模型、视图、控制器--如何在MVC体系结构中相互作用。有时我觉得我知道MVC是如何工作的,有时我觉得我不知道它的内部工作正常。
我对MVC架构的了解是-
在这里,我认为,View从来没有直接与模型对话。视图和模型之间的交互将由Controller 处理。
到目前一切尚好!
但是当我看到像下面这样的图表时,我会感到困惑。在下图中,左箭头显示View组件也可以与Model组件交互。

在这代码-项目文章中,还写到“一个模型可以被控制器和视图访问”和“一个视图可以使用模型来显示数据”。
因此,请澄清一个模型是只能由控制器访问,还是由控制器和视图访问。如果第二个也是正确的,那么在什么情况下这是可能的。我在ASP.NET MVC框架上工作,这里的任何交互都是通过控制器对象完成的。我从未遇到过视图直接与模型对象对话的情况。
发布于 2017-06-06 17:54:24
这里有MVC、模式和MVC,这是微软开发的web应用程序框架,并以该模式命名,所以最好把这两种模式分开讨论。
在MVC模式中,您会发现以下内容:
在MVC中,web应用程序框架:
不管名字如何,MVC框架只是松散地实现了MVC模式。但是,在这两种情况下,模型都可以被控制器和视图访问,因此您的基本理解是有缺陷的。但是,在MVC框架中,您可以说只有视图模型才能被视图访问。由于MVC框架中的“模型”不仅仅是一回事,还有一些组成部分不应该被视图访问,即: DAL层和潜在的实体,除非该实体也作为视图模型执行双重任务。
发布于 2017-06-07 11:45:18
如果视图是用任何模型强类型的,那么我们可以说
View=>模型
如果视图不是强类型的模型,那么我们可以说
controller=>Models=>视图
https://stackoverflow.com/questions/44395330
复制相似问题