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 只是把復雜的塊按不同理解拆分出來的結果.