1.MVC模式
全名:Model View Controller,数据、界面显示分离、业务逻辑方法组织代码;
分析:当一个数据从View发起请求后,请求到Controller并返回给Model,最终经过View的渲染。
缺点: 因为数据的功能的多样性,导致数据访问的性能较差,增加内部结构实现的复杂性,不适合于小中型系统;
优点:可维护性高,部署快、利于软件工程话化管理,适合大型系统;
M-model->模型->数据(JS变量)
V-html
C-controller控制器->事件交互->如何控制数据视图与用户交互后改变数据(通过DOM对象绑定事件,将变量进行修改)
2. MVP模式
全名:Model-View-Presenter,MVP 是从经典的模式MVC演变而来,
它们的基本思想有相通的地方Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。
Presenter是一个中介,完全隔离了View和Model, Activity 相当于 View, View可以完全不关心Model。
View层只需面向Presenter层,不需要知道Model层;
Model层只需面向Presenter层,不需要知道View层;
View层和Model层逻辑交互在Presenter。
总结:
1.View层, 即Activity 接收用户请求,
2.View不执行具体任务,而是交个P层完成
3.P层收到V的请求后,可以自己做,也可以让Model层做
4.Model执行任务
5.M层把执行结果告诉P层
6.P层告诉View层执行结果
3.MVVM框架
全名:MVVM是Model-View-ViewModel的简写
优点:双向绑定,就是我们直接更改View的话,也会直接更改ViewModel中的数据,不用再想Mvc中那样还要解决Model与View的响应设置;
view:视图层,在我们的前端开发中,通常就是DOM树,主要就是给用户展示各种信息
Model:数据层,从网络上请求的数据;
VueModel:视图模型层,就是vue.js
4.总结
MVC模式中,view 与 model 是亲戚关系,MVP模式中,view与model是陌生人,而MVVM模式view与model一家人;