MVC和前后端分离

参考:孤独烟


早期JSP+SERVLET:
也就是我们传统的 MVC 开发模式。
MVC和前后端分离_第1张图片
缺点:

  • 视图依赖于模型,如果没有模型,视图也无法呈现出最终的效果;
  • 在服务端完成视图的渲染,浏览器解析的是带有模型数据的视图(JSP)

前后端分离:
使用较多的开发方式,基于 RESTful 设计风格的后端提供相应的接口,浏览器发送AJAX请求,然后服务端接受该请求并将 JSON 数据返回给浏览器,页面解析 JSON 数据,通过 dom 操作渲染页面。
MVC和前后端分离_第2张图片


node.js
因为没有参与过,所以这里只进行简单的了解。
node.js 可以作为一个中间层。所谓中间层就是在前端与后端之间加多一层。而这个主要是将原来由后端来做的页面动态化工作交给了前端来做,即:
前端:负责View和Controller层
后端:只负责Model层,业务处理/数据等
MVC和前后端分离_第3张图片
node作为中间层,可以将页面所需要的多个后端数据(请求),直接在内网阶段就拼装好,再统一返回给前端,会得到更好的性能。
一般大公司才会使用,因为小公司没有这样的前端资源来支撑这样的架构,同时增加了一个接口制定流程和前后端联调流程,放慢了迭代周期,不利于中小公司的产品迭代。
不同于ajax方式:

  • ajax:前端只需要调用后端根据不同功能需求已经写好了的接口(后端编写的 Controller),在前端页面直接进行渲染。
  • node:前端可以根据需求编写 node 调用后端若干接口实现相应的功能需求(此时 node 对于页面来说是 Controller 层),在页面调用 node 的接口(前端编写的 Controller)

你可能感兴趣的:(总结和问题,MVC,前后端分离,node.js,RESTful,ajax)