1.什么是MVC
先来看看下面这张图:(来源)
Models: 数据层,负责数据的处理和获取的数据接口层,UI数据来源。
Views: 展示层,即UI层。
Controller: 控制器层,它是 Model 和 View 之间的媒人,负责牵线搭桥的😄。当用户对 View 有操作时它负责去修改相应 Model;当 Model 的值发生变化时它负责去更新对应 View。
2、MVC中每层的具体作用:
C层(交互层):
导航及其他特殊(屏幕旋转等)配置
生成主view,一个vc只存在一个主view
响应主View的事件交互(含处理view和model之间交互的接口调用)
生成页面的model
model层(数据层):
为UI展示提供数据(包括数据处理及获取)
UI数据交互逻辑处理等数据相关
view层(展示层):
界面元素搭建,动画效果,数据展示,
如图:
总结
针对具体页面来说mvc可以由一个或者多个组成,页面vc可以当作是c也可以当作是view 甚至可以当作是v和c.不管什么业务都是数据(M) UI(V) 和 UI交互(控制器)为基础的,至于演变的mvp mvvm 只是把复杂的块按不同理解拆分出来的结果.