最近讓公司瘋狂的版本更新搞得焦頭爛額扶镀,主要還是因?yàn)镸VC模式,controller由于各種需求被塞滿了各種東西,好多controller已經(jīng)突破500行硬毕,里面的代碼混亂不堪,包括網(wǎng)絡(luò) UI 業(yè)務(wù)礼仗,讓我狠下心來(lái)一定要啃下MVVM昭殉。
最近也看了一些MVVM的文章苞七,demo,然而每個(gè)人對(duì)MVVM認(rèn)識(shí)也是參差不齊挪丢。
下面談下我對(duì)MVVM的理解蹂风,以及我迫不及待想使用MVVM重構(gòu)的原因
MVVM 在我看來(lái)最基本的模塊就是 M <-- VM --> V
MVVM里的M和V的作用和MVC里的M和V作用一樣
只是多的這個(gè)ViewModel到底該怎么理解呢,引入ViewModel目的是什么
在我看來(lái)ViewModel的作用就是負(fù)責(zé)model變化時(shí)告訴view更新乾蓬,view得到用戶的事件時(shí)讓ViewModel來(lái)處理惠啄,C在這里一直沒(méi)談,是因?yàn)镃已經(jīng)被弱化到了和View一樣的作用以及額外的綁定工作任内。
這樣做的好處是什么呢
單元測(cè)試 想想以前一個(gè)C的單元測(cè)試該怎么做 頭是不是大了
而現(xiàn)在呢 C 就是一個(gè)view了
測(cè)試邏輯只需要測(cè)試ViewModel就完了
測(cè)試UI只需要測(cè)試View