什么是MVC?和前后端分离有何关系?

最开始,MVC是后端的一种设计模式。

绝大部分后端服务器,都做一件事情:接收用户发来的请求,返回一段响应内容。

根据不同的url,Router调用不同的Controller来处理。

Router的作用就是让每个URL都有一段代码来负责响应。

Controller的作用包括:

1,获取数据(从Model对象获取)

2,获取HTML内容

3,将数据填入HTML(这个就是View)

4,返回给用户

Controller其实就是Model和View的桥梁,Controller拿到Model,然后将Model放到View里。

前后端分离又是指一个页面分为两部分,浏览器上面的工作交给前端做,服务器上面的工作交给后端做(人员分离)。

后端MVC时代,服务器返回的都是html页面,并且是渲染后返回给用户。

现在前后端分离的做法是:

前端需要处理服务器返回的各种数据格式,还需要掌握一系列的数据处理逻辑、MVC思想和各种主流框架。

前后端分离的工作流程可以使前端只关注前端的事,后台只关心后台的活,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以先将数据写死或者调用本地的json文件即可,页面的增加和路由的修改也不必再去麻烦后台,开发更加灵活。

通过前端控制路由调用AJAX,后台提供接口便可以实现,而且这样的方式用户体验更加友好,网页加载更加快速,开发和维护成本也降低了不少,效率明显提升。

前端的MVC指:

Model——封装数据操作

View——视图渲染

Controller——控制器(将content塞到页面里;浏览器事件监听;数据事件监听)

一个页面可以有多个Controller,每个Controller负责一个大div即可。Controller监听Model变化,Model一变,Controller就会去更新View;Controller监听用户交互,用户点了提交或者修改按钮,Controller就要去更新Model。

原文地址:https://www.cnblogs.com/guojunru/p/6133788.html