MVVM模式中ViewModel和View、Model有什么区别

这篇文章主要介绍了MVVM模式中ViewModel和View、Model有什么区别?本文分别解释了它们的功能和作用,然后总结了它之间的区别,需要的朋友可以参考下

  Model:很简单,就是业务逻辑相关的数据对象,通常从数据库映射而来,我们可以说是与数据库对应的model。

  View:也很简单,就是展现出来的用户界面。

  基本上,绝大多数软件所做的工作无非就是从数据存储中读出数据,展现到用户界面上,然后从用户界面接收输入,写入到数据存储里面去。所以,对于数据存储(model)和界面(view)这两层,大家基本没什么异议。但是,如何把model展现到view上,以及如何把数据从view写入到model里,不同的人有不同的意见。

  MVC派的看法是,界面上的每个变化都是一个事件,我只需要针对每个事件写一堆代码,来把用户的输入转换成model里的对象就行了,这堆代码可以叫controller。

  而MVVM派的看法是,我给view里面的各种控件也定义一个对应的数据对象,这样,只要修改这个数据对象,view里面显示的内容就自动跟着刷新,而在view 里做了任何操作,这个数据对象也跟着自动更新,这样多美。所以:

  ViewModel:就是与界面(view)对应的Model。因为,数据库结构往往是不能直接跟界面控件一一对应上的,所以,需要再定义一个数据对象专门对应view上的控件。而ViewModel的职责就是把model对象封装成可以显示和接受输入的界面数据对象。

  至于viewmodel的数据随着view自动刷新,并且同步到model里去,这部分代码可以写成公用的框架,不用程序员自己操心了。

  简单的说,ViewModel就是View与Model的连接器,View与Model通过ViewModel实现双向绑定。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVVM 模式是一种软件架构模式,它包括三个部分:模型(Model)、视图(View)和视图模型(ViewModel),是一种基于数据绑定技术的前端开发模式MVVM 模式的核心思想是将视图和数据绑定在一起,通过视图模型来实现视图和数据的分离。 MVVM 模式和 MVC 模式有以下区别: 1. 视图和模型之间的通信方式不同:在 MVC 模式,视图和模型之间是通过控制器来进行通信的,而在 MVVM 模式,视图和视图模型之间是通过数据绑定来进行通信的。 2. 视图模型的作用不同:在 MVC 模式,控制器主要负责协调视图和模型之间的通信,而在 MVVM 模式,视图模型则充当了控制器和模型之间的桥梁,负责将模型数据绑定到视图上,并通过视图模型来实现视图和数据的分离。 3. 视图的实现方式不同:在 MVC 模式,视图通常是由 HTML 页面和 CSS 样式来实现的,而在 MVVM 模式,视图则通常是由 HTML 页面、CSS 样式和 JavaScript 代码(包括视图模型)来实现的。 MVVM 模式的优点包括: 1. 实现了视图和数据的分离,降低了代码耦合度,使代码更加清晰和易于维护。 2. 通过数据绑定技术,可以自动更新视图,减少了代码量和开发时间。 3. 视图模型可以作为数据接口,使得开发人员可以更加方便地测试和调试代码。 综上所述,MVVM 模式是一种基于数据绑定技术的前端开发模式,通过视图模型来实现视图和数据的分离,与 MVC 模式相比,具有更加清晰和易于维护的代码结构和更高的开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值