MVC和MVVM的定义和区别,MVVM框架VUE实现原理

mvvm现在已经是很流行的框架设计模式,之所以流行,是因为好用,那么从之前的mvc框架到现在的mvvm框架到底发生了什么变革呢。mvvm和mvc有什么本质区别呢。接下来解决这两个问题。

1,什么是mvc

model-view-controller

特点:controller  的业务逻辑部分写在后端,写在前端后使得js控制层变得越来月难以维护

      model,view和controll未完全分离(如backbone)

      出现比较早,全栈开发用的多些,前端mvc相对较少

2,什么是mvvm


 

特点:viewModel桥梁, 业务逻辑抽离封装,易于复用

      ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务 
      等还是应该放在Controller中实现。
      也就是说MVVM实现的是业务逻辑组件的重用
      
      自动渲染

3,mvc到mvvm

mvc出现的时间比较早,前端并不那么成熟,很多业务逻辑也是在后端实现,
所以前端并没有真正意义上的MVC模式。
而我们今天再次提起MVC,是因为大前端的来到,出现了MVVM模式的框架

为什么出现mvvm

1,很多原本在服务器的代码放在了浏览器中,javascript代码越来越多,连接着各式各样的HTML和css文件,缺乏组织形式,不宜维护,随着项目的扩大,扩展性较低
2,手动操作dom,性能低
3,现代浏览器兼容性提高,当年为了解决浏览器兼容性,出现了许多js的库,jquery是代表,但这类库没有将业务逻辑独立出来,维护性和扩展性极差
4,浏览器性能的提升,兼容性的提高,解决了一些原来不能解决的问题,所以出现了mvvm框架,业务逻辑独立出来,可复用

4,vue实现

data=>Object.defineProperty() <=>Watcher<=>Compile

参考:https://baijiahao.baidu.com/s?id=1596277899370862119&wfr=spider&for=pc

          https://blog.csdn.net/qq_36228442/article/details/79470408

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值