希望在实际项目中运用过MVVM架构的同学可以谈下自己的感受。
在一般的页面中,model
层就是直接赋值为后台提供的数据再提供给view
层显示..但是有特殊的页面,需要对后台的数据做一些特殊处理~~那么这个业务逻辑就可以写在View Model
层上,不需要让view
层有太多的业务逻辑而导致耦合度高..代码可读性差
同一个项目不同模块分别使用MVC 和MVVM
数据和逻辑一般的直接Model。
逻辑复杂的需要解除耦合。用VM去把Mode的数据解析、绑定到View上。controller 只负责显示我组装好的数据。
总之呢。最合适解决你的问题的模式就是最优的。
2 回答1.1k 阅读
1 回答1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
1.3k 阅读
当项目足够简单(demo)的时候Model都是不需要的,我们可以直接用dictionary、array,这是最方面快速的只是传值而已,何必新建一个类呢;稍微复杂就需要model,View,controller分层(MVC),再复杂一点就用MVVM。
我的感觉就是相对于项目中简单的页面,MVVM不如MVC好使,因为VM一般对应一个View,你还要去新建一个类,得不偿失。
只有页面足够复杂的时候用MVVM才爽,把model转成View需要的数据。对controller来说,只需要把model给vm,把vm输出直接给View;View直接接受自己要的东西,比如label只要字符串;vm只需要把model转成label所需要的字符串。。每一步更清晰,你不需要在controller里去判断一大堆状态来解析model去更新View。
说的是不是很不清楚。。。与我而言,vm只需要解析model就足够了