mvvm与mvc的区别有:1、mvvm各部分的通信是双向的,而mvc各部分通信是单向的;2、mvvm是真正将页面与数据逻辑分离放到js里去实现,而mvc里面未分离。
【推荐教程:mvc教程】
mvc
mvc是包括view视图层、controller控制层、model数据层。各部分之间的通信都是单向的。
view 传送指令到 controllercontroller 完成业务逻辑后,要求 model 改变状态model 将新的数据发送到 view,用户得到反馈
mvvm
mvvm包括view视图层、model数据层、viewmodel层。各部分通信都是双向的。采用双向数据绑定,view的变动,自动反映在 viewmodel,反之亦然。其中viewmodel层,就是view和model层的粘合剂,他是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他各种各样的代码的极好的地方。说白了,就是把原来viewcontroller层的业务逻辑和页面逻辑等剥离出来放到viewmodel层
mvc与mvvm的区别
在mvc里,view是可以直接访问model的,所以view里会包含model信息以及一些业务逻辑。 mvc模型关注的是model的不变,所以在mvc模型里,model不依赖于view,但是 view是依赖于model的。不仅如此,因为有一些业务逻辑在view里实现了,导致要更改view也是比较困难的,至少那些业务逻辑是无法重用的。
mvvm在概念上是真正将页面与数据逻辑分离的模式,它把数据绑定工作放到一个js里去实现,而这个js文件的主要功能是完成数据的绑定,即把model绑定到ui的元素上。此外mvvm另一个重要特性双向绑定,它更方便你去同时维护页面上都依赖于某个字段的n个区域,而不用手动更新它们。
总结:以上就是本篇文章的全部内容了,希望对大家有所帮助
以上就是mvvm和mvc有什么区别的详细内容。
