相较MVC,MVVM的优势是什么?

希望在实际项目中运用过MVVM架构的同学可以谈下自己的感受。

阅读 3.6k
4 个回答

当项目足够简单(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就足够了

在一般的页面中,model层就是直接赋值为后台提供的数据再提供给view层显示..但是有特殊的页面,需要对后台的数据做一些特殊处理~~那么这个业务逻辑就可以写在View Model层上,不需要让view层有太多的业务逻辑而导致耦合度高..代码可读性差

同一个项目不同模块分别使用MVC 和MVVM
数据和逻辑一般的直接Model。
逻辑复杂的需要解除耦合。用VM去把Mode的数据解析、绑定到View上。controller 只负责显示我组装好的数据。
总之呢。最合适解决你的问题的模式就是最优的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题