每日一面试题--MVC思想是什么?

1.认识两个类似的名词!

MVP-Backbone.js(model-view-presenter;模型-视图-表现类)

MVVM-Knockout.js(model-view-viewmodel;模型-视图-视图模型)

---核心:实现了业务逻辑和显示的分离

1).model(模型)、view(视图)、control(控制层),是软件工作中的一种架构模式;

--模型:用于封装和应用程序的业务逻辑相关的数据和数据处理方法;

--视图:监听模型层上的数据改变,并实时更新html页面,一些事件的注册和ajax请求操作(发布事件)也是在视图层完成;

--控制层:接受用户操作,订阅视图层的事件,调用模型更新模型上数据,数据更新后,发布消息,视图层监听数据变化,更新页面显示;(基本流程)

2)优点:

--耦合性低viewcontrol分离,允许更改view,却不用修改modelcontrol,很容易改变应用层的数据层和业务规则

--可维护性:分离viewcontrol使得web应用更容易维护和修改(分工明确,逻辑清晰)



3)前端(Angular.jsEmber.js两个框架为代表)

--view-负责页面的显示和样式展示;

--control-进行节点事件的注册和控制,以及页面加载性能的实现;

--Model-逻辑处理,例如popupdrag等组件

*Angular框架的MVC图解:

 每日一面试题--MVC思想是什么?_第1张图片

Model:负责管理应用程序的数据,响应来自视图的请求,同时也响应指令使控制器自我更新;

View:由控制器决定触发显示数据,基于脚本的模块系统,如jspphp,非常容易用ajax技术集成

Controller:负责响应来自用户的输入执行交互数据模型对象,控制器接受到输入,验证输入,然后执行-修改数据模型的状态-的业务操作


4)后端php:(tp框架典型!)

--view:显示用户的交互界面;

--model:完成具体业务逻辑(包括数据库的crud操作(增加,读取,更新,删除)和其他一些常规操作,如文件上传,验证码);

--control:负责业务的调度

每日一面试题--MVC思想是什么?_第2张图片

你可能感兴趣的:(每日一面试题--MVC思想是什么?)