每日一面试题--MVC思想是什么?
1.认识两个类似的名词!
MVP-Backbone.js(model-view-presenter;模型-视图-表现类)
MVVM-Knockout.js(model-view-viewmodel;模型-视图-视图模型)
---核心:实现了业务逻辑和显示的分离
1).model(模型)、view(视图)、control(控制层),是软件工作中的一种架构模式;
--模型:用于封装和应用程序的业务逻辑相关的数据和数据处理方法;
--视图:监听模型层上的数据改变,并实时更新html页面,一些事件的注册和ajax请求操作(发布事件)也是在视图层完成;
--控制层:接受用户操作,订阅视图层的事件,调用模型更新模型上数据,数据更新后,发布消息,视图层监听数据变化,更新页面显示;(基本流程)
2)优点:
--耦合性低:view和control分离,允许更改view,却不用修改model和control,很容易改变应用层的数据层和业务规则
--可维护性:分离view和control使得web应用更容易维护和修改(分工明确,逻辑清晰)
3)前端:(Angular.js和Ember.js两个框架为代表)
--view-负责页面的显示和样式展示;
--control-进行节点事件的注册和控制,以及页面加载性能的实现;
--Model-逻辑处理,例如popup、drag等组件
*Angular框架的MVC图解:
Model:负责管理应用程序的数据,响应来自视图的请求,同时也响应指令使控制器自我更新;
View:由控制器决定触发显示数据,基于脚本的模块系统,如jsp,php,非常容易用ajax技术集成
Controller:负责响应来自用户的输入执行交互数据模型对象,控制器接受到输入,验证输入,然后执行-修改数据模型的状态-的业务操作
4)后端php:(tp框架典型!)
--view:显示用户的交互界面;
--model:完成具体业务逻辑(包括数据库的crud操作(增加,读取,更新,删除)和其他一些常规操作,如文件上传,验证码);
--control:负责业务的调度
标签:
相关文章
-
无相关信息