MVC 流程圖
MVC 是 Model-View-Controller 的簡寫。MVC 主要有三層:
- Model 數據層,讀寫數據,保存 App 狀態
- View 頁面層,和用戶交互,向用戶顯示頁面,反饋用戶行爲
- ViewController 邏輯層,更新數據,或者頁面,處理業務邏輯
MVC 可以幫助你很好的將數據,頁面,邏輯的代碼分離開來。使得每一層相對獨立。這樣你就能夠將一些可複用的功能抽離出來,化繁爲簡。只不過,一旦 App 的交互變複雜,你就會發現 ViewController 將變得十分臃腫。大量代碼被添加到控制器中,使得控制器負擔過重。此時,你就需要想辦法將控制器裏面的代碼進一步地分離出來,對 APP 進行重新分層。而 MVVM 就是一種進階的分層方案。
MVVM 流程圖
MVVM 和 MVC 十分相識。只不過他的分層更加詳細:
- Model 數據層,讀寫數據,保存 App 狀態
- View 頁面層,提供用戶輸入行爲,並且顯示輸出狀態
- ViewModel 邏輯層,它將用戶輸入行爲,轉換成輸出狀態
- ViewController 主要負責數據綁定
沒錯,ViewModel 現在是邏輯層,而控制器只需要負責數據綁定。如此一來控制器的負擔就減輕了許多。並且 ViewModel 與控制器以及頁面相獨立。tuan