gpt4 book ai didi

model-view-controller - 为什么在服务器上使用 MVC?这不是客户端模式吗?

转载 作者:行者123 更新时间:2023-12-04 23:57:36 26 4
gpt4 key购买 nike

我正在尝试学习网络开发。

我了解(大部分)MVC 的概念,但我对为什么在服务器端使用 MVC 模型......就像 Spring MVC 感到困惑。服务器端不是模型和服务,然后是客户端服务、 View 和 Controller (AngularJS 甚至在客户端明确表示该模式)?

我真的在为 MVC 模型如何适应或促进服务器端开发而苦苦挣扎。

最佳答案

MVC 是一种不仅仅是 Web 应用程序使用的模式。任何带有 UI 的应用程序都可以使用 MVC 模式。

这个想法是你有一个 View (html,或者你的操作系统中的一个窗口,甚至是一个报告或其他东西),你有一个代表该 View 的动态部分的模型。然后你有一个 Controller 专门用于处理输入并执行“业务逻辑”来生成模型并将其应用于 View 。

所以..例如在服务器上你可能有这个 MVC 模式:

  • Controller 接收 HTTP 请求并对其进行处理。
  • 它建立一个模型
  • 该模型应用于 View 以生成 HTML 并将其作为响应发送回。

  • 在客户端它会是类似的(但在 Angular 的情况下有点不同):
  • Controller 用于确定和操纵模型。
  • 然后模型通过指令绑定(bind)到您的 View 。 (Angular 更像是一种 MVVM 模式,但也足够相似)
  • View 同样通过指令绑定(bind)到您的模型。 (这就是 MVVM 部分的用武之地)。
  • 这里的想法是模型和 View 都通过指令保持最新。
  • Controller 只包含用于操作模型的“业务逻辑”。

  • 清如泥?

    不用担心。只要知道这一点:这只是一种常见的模式。它不是“特定于服务器”或“特定于客户端”。它可以在任何需要将数据清理到模板输出中的任何地方使用。

    编辑:更多的想法。

    对于在服务器上提供 JSON(甚至 XML)的 Web API,在大多数情况下,您仍在使用 MVC。这是因为你正在做的是:
  • 在 Controller 中处理请求。
  • 在 Controller 中建立模型。
  • 将模型渲染到“ View ”,在这种情况下,它是一个将其序列化为 JSON 的 View 。
  • 关于model-view-controller - 为什么在服务器上使用 MVC?这不是客户端模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15232010/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com