https://zhuanlan.zhihu.com/p/79899786
解释MVC
spring 是一个开源的框架。
MVC, model view controller , 一种最常见的软件架构。
视图,view , 是用户界面。
控制器 , controller ,业务逻辑。
模型 , model ,数据保存。
三者之间的联系:
- View 传送指令到 Controller
- Controller 完成业务逻辑后,要求 Model 改变状态
- Model 将新的数据发送到 View,用户得到反馈
- 所有通信都是单向的。View和Model之间的通信是通过Controller来作为桥梁的,也就是说View和Model并不是直接通信;
- 需要服务器端配合,JavaScript可以在前端修改服务器渲染后的数据,所有通信都是单向的,提交一次反馈一次,通信一次相互制约。
MVC 可以分成两种方式。一种是通过 View 接受指令,传递给 Controller。
另一种是直接通过controller接受指令。
MVP , model view presenter
是mvc的改良模式。不同之处, mvp之间双向通信。
presenter 负责逻辑, 负责view和Model传递之间的通信。
优势:
- mv完全分离, 修改视图可以不影响模型。
MVVM , model view viewModel
常见框架: Vue、React、Angular
Model 和 ViewModel 之间的交互是双向的
优势:
- 低耦合
- 组件化
- 独立开发(v、m独立)
- 可测试