MVC與MVVM模式的對比

MVC的優點:(1)可定製性
(2)代碼清晰,便於維護
(3)測試友好性
(4)輕量級
(5)開源
缺點:
大量的代碼被放在viewController,加重了viewControoller的負擔
網絡代碼放在model,view,viewController中的哪一個都不合適
MVC
的另一個大問題是,它不鼓勵開發人員編寫單元測試,由於view controller混合了視圖處理邏輯和業務邏輯,分離這些成分的單元測試成了一個艱鉅的任務。大多數人選擇忽略這個任務,那就是不做任何測試。

MVVM:
(1)view和對應的controller都緊緊的耦合在一起,總之,還是會把它們當成一個組件來對待,於是我們引出MVVM,它正式規範了視圖和控制器緊耦合的性質.
(2)view model是一個放置用戶輸入驗證邏輯,視圖顯示邏輯,發起網絡請求,保存數據和其他各種各樣的代碼的極好的地方,有一件事情不應歸入view model,那就是任何視圖本身的引用。換句話說,不要在view model中使用 #import UIKit.h
(3)使用MVVMiOS app是高度可測試的;因爲view model包含了所有的展示邏輯並且不會引用view,所以它可以通過編程方式充分測試

所以,使用MVVM會輕微的增加代碼量,但總體上減少了代碼的複雜性。這是一個划算的交易。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章