【问题标题】:ASP.NET MVC - Models notifying the Views?ASP.NET MVC - 通知视图的模型?
【发布时间】:2010-12-01 18:00:51
【问题描述】:

在 MVC 的一些经典描述中,模型通过观察者模式通知视图。在我看来,这不会发生在 ASP.NET MVC 中,因此模型、视图和控制器之间的基本关系之一缺失了。

是这样吗?如果有,为什么?

【问题讨论】:

    标签: asp.net-mvc notifications notify


    【解决方案1】:

    ASP.NET MVC 中的视图是无状态的。它们存在很短的时间,然后被发送到客户端。

    这个过程是这样的:

    1. 请求进入控制器。

    2. 控制器检索模型并实例化视图(将模型传递给它)。

    3. View 被渲染,标记返回给客户端,然后被处理掉。

    因此,由于视图在发送到客户端后不再存在……模型更改无需通知。

    【讨论】:

    • 我觉得这是一个火战类型的问题,那么 ASP.NET MVC 真的是 MVC 吗?
    • @Hobbes - 是的。这是该模式的网络改编。如果你说不是,那么我认为其他 Web MVC 框架都不是 MVC。
    【解决方案2】:

    不需要观察者模式。在 View 的原始定义中它说:

    视图附加到其模型(或 模型部分)并获取数据 演示文稿所必需的 通过提问来塑造模型。

    http://heim.ifi.uio.no/~trygver/2007/MVC_Originals.pdf

    在 Web 应用程序的上下文中,唯一可能的视图是浏览器呈现的标记 (HTML/XML)。因此,与在 ASP.NET MVC 中一样,视图代码被交给了一个模型实例,它可以访问该实例以向用户提供信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 2021-01-05
      相关资源
      最近更新 更多