1、Mvc:模型(model)視圖(view)控制器(controller)
Model:處理存儲數據,也就是創建數據模型,供controller獲取數據,減少了代碼的重複性
View:用戶看到的並且交互的界面,就是將數據顯示到界面中
Controller:處理用戶交互的控制器,也就是當用戶輸入需求控制器就去調用相應的模型和視圖去完成用戶的需求
2、Mvc的弊端
厚重的View Controller:網絡數據的請求及後續處理,本地數據庫操作,以及一些帶有工具性質輔助方法都加大了Massive View Controller的產生。
無處安放的網絡邏輯:如果把所有的對象都放入Controller中,這會加劇了Massive View Controller的問題
較差的可測試性:由於View Controller混合了視圖處理邏輯和業務邏輯,所以不便分離
1、MVVM:mvvm的核心思想是數據模型的雙向綁定,這樣當用戶輸入請求後vm從view拿到數據提交給model後model的處理結果要傳遞給view與用戶進行交互
2、MVVM的優勢
3、MVVM的弊端
MVVM是MVC的升級版,完全兼容當前的MVC架構,雖然MVVM在一定程度上減輕了ViewController的臃腫度,但是View和ViewModel之間的數據綁定使得 MVVM變得複雜和難用了。如果你的需求沒有那麼大,controller完全可以負載的起,選擇mvc也是可以的。當項目逐漸擴大,業務增加,就會造成控制器代碼量特多不易維護和測試,就需要進行封裝,給控制器減減肥,MVVM就顯得特別需要。