代码之家  ›  专栏  ›  技术社区  ›  Milan BabuÅ¡kov

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

  •  3
  • Milan BabuÅ¡kov  · 技术社区  · 15 年前

    在Internet上查看一些用于Web开发的MVC库的示例和教程时,我发现其中许多库直接在模型类的代码中构建HTML,然后Controller将其发送到只显示它的视图。虽然这使得控制器和视图非常简单和干净,但我觉得这是一个错误的方法。imho,模型应该只检索数据,而不包含任何表示逻辑。控制器应该将这些数据传递给视图,并且视图将包含代码,这些代码通过它迭代并生成最终的HTML。

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

    3 回复  |  直到 8 年前
        1
  •  3
  •   BornToCode    8 年前

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

    如果是这样的话,你就没有分离的顾虑。这不是天生的 坏的 但是您错过了将表示和业务逻辑分开的优势。所以不,这不是个好主意。

    也就是说,有一些表示逻辑的元素可以到达模型。想想CMS。IDealy您可以标记所有的数据,比如XML,在XML上应用一个模板来传递它。但是数据和模板都保存在模型中。那么什么是演示文稿,这里的业务是什么?

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

        2
  •  2
  •   Darin Dimitrov    15 年前

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

        3
  •  1
  •   Colin Mackay    15 年前

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

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