美文网首页
MVC和MVVM的区别

MVC和MVVM的区别

作者: 杰奎琳子 | 来源:发表于2020-07-16 07:07 被阅读0次

MVC:Model-View-controller

  Model(模型)

    数据模型,提供要展示的数据,因此包含数据和行为,行为是用来处理这些数据的。不过现在一般都分离开来:Value Object(数据) 和 服务层(行为)。也就是数据由实体类或者javabean来提供,行为由service层来提供.

  View(视图)

    负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。

  Controller(控制器)

    接收用户请求,委托给模型进行处理,处理完毕后把返回的模型数据交给给视图。也就是说控制器在中间起到一个调度的作用。

MVVM:Model-View-ViewModel

  视图模型(ViewModel)是mvvm模式的核心,它是连接view和model的桥梁。它有两个方向:一是将模型(Model)转化成视图(View),即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将视图(View)转化成模型(Model),即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。这两个方向都实现的,我们称之为数据的双向绑定。

因为controller里面没有数据解析,所以有了ViewModel,在MVC的基础上增加了一层VM,弱化了C的概念,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。

1)MVVM实现的是业务逻辑组件的重用,使开发更高效,结构更清晰,增加代码的复用性。

2)在请求交互时,MVVM使用的是axios,MVC使用的是ajax

3)MVVM是数据与视图双向绑定

相关文章

网友评论

      本文标题:MVC和MVVM的区别

      本文链接:https://www.haomeiwen.com/subject/dwmxhktx.html