【问题标题】:Is fetching HTML directly from Model (MVC) a good idea?直接从模型 (MVC) 获取 HTML 是个好主意吗?
【发布时间】:2009-07-11 10:05:14
【问题描述】:

在网上看了一些用于web开发的MVC库的例子和教程,发现很多都是直接在Model类的代码中构建HTML,然后Controller直接发给View,View就显示出来了。虽然这使得 Controller 和 View 非常简单和干净,但我觉得这是一种错误的方法。恕我直言,模型应该只检索数据,其中没有任何表示逻辑。 Controller 应该将这些数据传递给 View,View 将包含遍历它并生成最终 HTML 的代码。

我的想法是正确的,还是我在这里遗漏了一些重要的点?

【问题讨论】:

    标签: model-view-controller


    【解决方案1】:

    呈现逻辑在视图(大部分)和控制器之间共享。该模型不应该关注表示逻辑。

    如果是这样,您就没有关注点分离。这本质上并不是一件的事情,但是您会错过将表示和业务逻辑分开的好处。所以不,这不是一个好主意。

    话虽如此,有一些表示逻辑的元素可能会进入模型。想想cms。理想情况下,您将标记所有数据,比如说 xml,您将在其上应用模板来交付它。但是数据和模板都保存在模型中。那么什么是演示,这里又是什么业务?

    有灰色地带,但大多数时候很容易将表示和业务逻辑分开。

    【讨论】:

      【解决方案2】:

      你的想法是绝对正确的。如果您想要清晰地分离关注点,最好让视图从模型生成 HTML。在某些情况下,可以使用 html 助手。

      【讨论】:

        【解决方案3】:

        直接从模型 (MVC) 获取 HTML 是个好主意吗?

        我的直觉会说不。打破了关注点分离的概念。

        【讨论】:

          猜你喜欢
          • 2010-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-05
          • 2011-07-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多