当前位置:   article > 正文

结合vue、react、angular简谈MVC、MVVM框架_react mvc mvvm

react mvc mvvm

React
如其官方介绍:React - A JavaScript library for building userinterfaces, React是一个为数据提供渲染为HTML视图的开源JavaScript库。从这个定义来看,可以发现React是一个View层,它的作用是提供了一套数据机制。用了virtual dom,属于facebook公司的

vue的官方文档是说vue的核心库也只是关注视图(View)层。
在这里插入图片描述

所以,实际上来说,和angular有完整的解决方案不同,狭义的vue.js和react.js实际上只是library,还并不是一个framework,因为他们没有一整套的解决方案,属于一种“小而美”框架

换句话来说,现在我们所讨论的vue、react,都是我们将他们武装之后,他们有了一整套解决方案了。成为了一个框架,我们再来讨论他们的架构模式,属于一种“大而广”框架。
在这里插入图片描述

Vue

个人认为,这是毫无争议的一个MVVM框架,对MVVM理念的贯彻也是最显而易见的。
关于渐进式框架的理解
https://baijiahao.baidu.com/s?id=1647203004323024188&wfr=spider&for=pc

Model层:接口层,原始数据模型。

View层:视图层,template中的html代码。

ViewModel层:基于一个html元素构建的vue实例。将Model中的原始数据模型,构建成一份View层可以使用的视图模型。这个时候,Model层、View层完全解耦。开发者已经完全不需要顾及View的展示更新了,只需要专注业务逻辑以及ViewModel层与Model的交互逻辑就ok。

AngularJs

Model层:接口层,原始数据模型。

View层:html页面。

ViewModel层:基于ng-app构建的应用实例,与vue类似,数据双向绑定机制不同。

React

Model层:接口层,原始数据模型。

View层:编译之后的Dom。

ViewModel层:基于jsx语法,以及react构建的VDom,单向数据流。

这么一看,vue、react、angularJS不就都是MVVM框架吗?唯一的区别就是,VM层中的Model与View,vue与angular是数据双向绑定,而react由于是单向数据流,所以需要手动更改状态。
参考链接:
https://zhuanlan.zhihu.com/p/76988636
https://zhuanlan.zhihu.com/p/64257809
其他的参考链接:
https://www.cnblogs.com/zhouyangla/p/6936455.html
https://blog.csdn.net/qq_18832439/article/details/51038454
https://www.jianshu.com/p/11c89d58d5d5
https://blog.csdn.net/qq_36228442/article/details/79470408

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/797144
推荐阅读
相关标签
  

闽ICP备14008679号