最近让公司疯狂的版本更新搞得焦头烂额,主要还是因为MVC模式,controller由于各种需求被塞满了各种东西,好多controller已经突破500行,里面的代码混乱不堪,包括网络 UI 业务,让我狠下心来一定要啃下MVVM。
最近也看了一些MVVM的文章,demo,然而每个人对MVVM认识也是参差不齐。
下面谈下我对MVVM的理解,以及我迫不及待想使用MVVM重构的原因
MVVM 在我看来最基本的模块就是 M <-- VM --> V
MVVM里的M和V的作用和MVC里的M和V作用一样
只是多的这个ViewModel到底该怎么理解呢,引入ViewModel目的是什么
在我看来ViewModel的作用就是负责model变化时告诉view更新,view得到用户的事件时让ViewModel来处理,C在这里一直没谈,是因为C已经被弱化到了和View一样的作用以及额外的绑定工作。
这样做的好处是什么呢
单元测试 想想以前一个C的单元测试该怎么做 头是不是大了
而现在呢 C 就是一个view了
测试逻辑只需要测试ViewModel就完了
测试UI只需要测试View