一、MVC
M:model,数据模型;
V:view,视图,展示数据;
C:controller,控制器,业务逻辑,是view和model的沟通者;
MVC就是把代码分成三块,第一块V告诉你的代码是在哪一块;第二块M告诉你的数据有哪些操作;第三块C用来控制其他的所有代码。
MVC就是一个代码组织形式,它不是框架也不是技术,就是一种组织代码的思想,我们要做的就是把V和M传给C,C负责初始化model,对view进行各种操作
如上图,MVC按功能划分代码,用户点击页面上的view,controller监听view,一旦view被点击,它就发通知给controller,controller去调用model里的数据,model向server请求数据,server响应model,model向controller返回数据,controller作出相应的操作,呈现新的页面给用户,使用MVC使得代码职责分明,结构清晰,看起来更简单。
但是,MVC的通信是单向的;想要双向通信,就用MVVM。
二、MVVM
M:Model,数据管理;
V:View,UI布局,展示数据;
VM:ViewModel,用来同步view和model;
ViewModel通过双向数据绑定把view和model连接起来,让view和model的同步工作完全自动,不需要人为干涉,开发者只需关注业务逻辑即可