【发布时间】:2010-12-01 18:00:51
【问题描述】:
在 MVC 的一些经典描述中,模型通过观察者模式通知视图。在我看来,这不会发生在 ASP.NET MVC 中,因此模型、视图和控制器之间的基本关系之一缺失了。
是这样吗?如果有,为什么?
【问题讨论】:
标签: asp.net-mvc notifications notify
在 MVC 的一些经典描述中,模型通过观察者模式通知视图。在我看来,这不会发生在 ASP.NET MVC 中,因此模型、视图和控制器之间的基本关系之一缺失了。
是这样吗?如果有,为什么?
【问题讨论】:
标签: asp.net-mvc notifications notify
ASP.NET MVC 中的视图是无状态的。它们存在很短的时间,然后被发送到客户端。
这个过程是这样的:
请求进入控制器。
控制器检索模型并实例化视图(将模型传递给它)。
View 被渲染,标记返回给客户端,然后被处理掉。
因此,由于视图在发送到客户端后不再存在……模型更改无需通知。
【讨论】:
不需要观察者模式。在 View 的原始定义中它说:
视图附加到其模型(或 模型部分)并获取数据 演示文稿所必需的 通过提问来塑造模型。
在 Web 应用程序的上下文中,唯一可能的视图是浏览器呈现的标记 (HTML/XML)。因此,与在 ASP.NET MVC 中一样,视图代码被交给了一个模型实例,它可以访问该实例以向用户提供信息。
【讨论】: