1.mvc与mvp与mvvm模式
MVC
react用的就是MVC框架 也就是单向数据流
优点:所有数据变化有迹可循,缺点:代码量大。数据流转过程长
- view层传送指令到controller层
- controller完成业务逻辑,要求Model改变状态
- Model将新的数据发到View层,用户得到反馈
所有通信都是单向
MVP
我们普通写的代码都是mvp模式
特点:操作DOM节点
view收到响应,反馈给p层
p层向m层拿数据
m层返还p层 p层作出逻辑计算反馈给v层
mv层不交流 其余部分通信是双向的
MVVM
vue使用的就是mvvm模式
特点:不造作Dom节点,代码量小。缺点:数据无迹可寻,特别大项目,数据多项改动让人头疼
与mvp的区别就是 p层变成vm层
v层数据的波动,自动反应在vm层,从而引起m层数据变化 反之依然
vm层由vue实现 主要是dom复用和es5中一个api object.defindproper()
2.单页应用与多页应用的区别
多页应用:
优点:对SEO搜索引擎比较友好,首屏请求快
缺点:页面切换慢(每次切换页面要http请求服务器)
单页应用:
缺点:对SEO不友好。首页请求慢
优点:页面切换快 // 解决方案 ssr服务器端渲染