@H_404_6@
我正在努力学习网络开发.
我(大部分)理解MVC的概念,但我很担心为什么在服务器端使用MVC模型……就像Spring MVC一样.服务器端不是模型和服务,然后是客户端服务,视图和控制器(AngularJS甚至在客户端显示该模式)?
我真的很挣扎MVC模型如何适应或促进服务器端开发.
解决方法
MVC是一种不仅仅是Web应用程序使用的模式.任何具有UI的应用程序都可以使用MVC模式.
我们的想法是你有一个View(html,或操作系统中的一个窗口,甚至是一个报告或其他东西),你有一个代表该视图动态部分的模型.然后,您有一个控制器,专门用于处理输入和执行“业务逻辑”以生成模型并将其应用于视图.
所以…例如在服务器上你可能有这个MVC模式:
>控制器接收HTTP请求并对其进行处理.
>它构建了一个模型
>该模型应用于视图以生成HTML并将其作为响应发送回来.
在客户端它将是类似的(但在Angular的情况下有点不同):
>控制器用于确定和操作模型.
>然后通过指令将模型绑定到您的视图. (Angular实际上更像是MVVM模式,但它足够相似)
>视图类似地通过指令绑定到您的模型. (这是MVVM部分的用武之地).
>这里的想法是模型和视图都通过指令保持最新.
>控制器只包含用于操作模型的“业务逻辑”.
像泥一样清楚?
别担心.只要知道这一点:这只是一种常见的模式.它不是“特定于服务器”或“特定于客户端”.它可以在任何需要将数据擦除到模板化输出的任何地方使用.
编辑:更多的想法.
对于在服务器上提供JSON(甚至XML)的Web API,在大多数情况下仍然使用MVC.这是因为你正在做的是:
>在控制器中处理请求.>在控制器中构建模型.>将模型渲染为“视图”,在本例中是一个将其序列化为JSON的视图.