MVVM模式

weixin_34208283發表於2015-04-21

看到一篇介紹 MVVM的文章,這個概念出自Functional Reactive Programming on iOS這本書,提出了mvvm模擬以解決mvc由於不易於自動化測試,manager指代不明,以及網路邏輯,檢視中驗證邏輯等所屬不明(應放入c還是m中呢)而導致的v可能的臃腫。連結如下:http://www.cocoachina.com/industry/20140716/9152.html

model-view-viewmodel(mvvm)模式的要點在於:

首先,view和view controller緊密聯絡,即與view效果相關的各種效果以及view本身所觸發的各種動作會得到view controller的立即響應

其次,model的模式為自驅動(內化網路功能)及view model驅動,亦即view和view controller不能直接操控model

最後,viewmodel位於整個模式中最為核心的部位,即其與 view和view controller的組合進行完全的互動,同時亦與model進行完全的互動

使用方法在於,展示邏輯位於viewmodel中,viewcontroller的臃腫得以解決

其帶來的結果即是viewmodel並未引用view而又完整地包含了展示邏輯,而且整個應用的可單元測試性得到了提升

相關文章