前言
面试时老是被问到的一个问题:MVC/MVVM 是什么?现以此文来总结一下。
MVC 是什么?
MVC(Model-View-Controller)主要是把代码分成三部分,分别是:
- M – model 用于控制数据相关
- V – view 用于控制视图相关
- C – controller 用于控制除数据和视图外相关的所有逻辑
当用户通过点击触发 view,view 会通知 controller 去 model 处调用数据,而 model 这时就会向服务器 server 发送请求,server 接收到请求后会向 model 作出响应,model 把接收到的数据返回给 controller,controller 再更新 view;这就是 MVC。
MVVM 是什么?
MVVM(Model-View-ViewModel):
1. 各部分之间的通信,都是双向的。
2.View 与 Model 不发生联系,都通过 ViewModel 传递。
3.MVVM 采用双向绑定(data-binding):View 的变动,自动反映在 ViewModel