【MVC設計模式】
MVC是一種架構模式,M表示MOdel,V表示視圖View,C表示控制器Controller:
mvc
1??Model負責存儲、定義、操作數據;
2??View用來展示書給用戶,和用戶進行操作交互;
3??Controller是Model和View的協調者,Controller把Model中的數據拿過來給View用。Controller可以直接與Model和View進行通信,而View不能和Controller直接通信。View與Controller通信需要利用代理協議的方式,當有數據更新時,Model也要與Controller進行通信,這個時候就要用Notification和KVO,這個方式就像一個廣播一樣,Model發信號,Controller設置監聽接受信號,當有數據更新時就發信號給Controller,Model和View不能直接進行通信,這樣會違背MVC設計模式。
【MVVM設計模式】
MVVM就是在MVC的基礎上分離出業務處理的邏輯到ViewModel層,即:
mvvm
1??Model層:請求的原始數據
2??View層:視圖展示,他的任務就是從ViewModel層獲取數據,然后顯示。
3??ViewModel層:負責業務處理和數據轉化,就是View和Model層的粘合劑,他是一個放置用戶輸入驗證邏輯,視圖顯示邏輯,發起網絡請求和其他各種各樣的代碼的極好的地方。說白了,就是把原來ViewController層的業務邏輯和頁面邏輯等剝離出來放到ViewModel層。
微信公眾號+瘋狂1024