mvc和mvvm的区别

在MVC里,View是直接访问Model的。从而,View里会Model信息,不可避免的还要包括业辑。 

MVC模型关注的是Model的不变,所以,在MVC模型里,Model不依赖于View,但是 View是依赖于Model的。

不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。

MVVM在概念上是真正将页面与数据逻辑分离的模式,它把数据绑定工作放到一个JS里去实现,而这个JS文件的主要功能是完成数据的绑定,即把model绑定到UI的元素上。

使用Angular(MVVM)代替Backbone(MVC)来开发,代码可以减少一半。

此外,MVVM另一个重要特性,双向绑定。它更方便你同时维护页面上都依赖于某个字段的N个区域,而不用手动更新它们。

拓展资料:

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大好处

1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model不可以不变,当Model变化的时候View也可以不变。

2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。

3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。

4. 可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。



参考资料:

百度百科-MVC框架

MVVMMVC最大的区别就是:MVVM实现了View和Model的自动同步,也就Model的属性时,我们不用再自己手动操作Dom元素,变View的显示,而是改变属性后该属性对应View层显示会自动改变。非常的神奇~

MVC,MVP,MVVM是三种常见的前端架构模式(Architectural Pattern),它通过分离关注点来改进代码组织方式。不同于设计模式(Design Pattern),只是为了解决一类问题而总结出的抽象方法,一种架构模式往往能使用多种设计模式。

MVC模式是MVP,MVVM模式的基础,这两种模式更像是MVC模式的优化改良版,他们三个的MV即Model,view相同,不同的是MV之间的纽带部分。

拓展内容:

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVVM本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。

微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。

MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

1、MVC允许在不视图的情况下改变视图对用户的响应方式,用户对View的操作交给了Controller,在Controller中响应View的事件调用Model的接口对数据进行操作,一旦Model发生变化便通知相关视图进行更新。

MVC模型关注的是Model的不变,所以,在MVC模型里,Model不依赖于View,但是 View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。

2、MVVM与MVC最大的区别就是:它实现了View和Model的自动同步,也就是当Model的属性改变时,我们不用再自己手动操作Dom元素,来改变View的显示,而是改变属性后该属性对应View层显示会自动改变。

此外,MVVM另一个重要特性,双向绑定。它更方便你同时维护页面上都依赖于某个字段的N个区域,而不用手动更新它们。

3、MVC模式是MVVM模式的基础,他们的MV即Model,view相同,不同的是MV之间的纽带部分。

  在MVC里,View是可接访问Model的!,View里会包含Model信息,不可避免的还要一些业务逻辑。 MVC模注的是Model的不变,所以,在MVC模型里,Model不依赖于View,但是 View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。

  MVVM在概念上是真正将页面与数据逻辑分离的模式,它把数据绑定工作放到一个JS里去实现,而这个JS文件的主要功能是完成数据的绑定,即把model绑定到UI的元素上。

  有人做过测试:使用Angular(MVVM)代替Backbone(MVC)来开发,代码可以减少一半。

  此外,MVVM另一个重要特性,双向绑定。它更方便你同时维护页面上都依赖于某个字段的N个区域,而不用手动更新它们。mvc的界面辑关联紧密,数据直接从数据库读mvvm的界viewmode是松耦合,界面数据从viewmodel中获取。如果你写代码的时候在界面的cs文件里有很多业务逻辑代码,那么你使用的就不是mvvm,而是mvc
喜欢阅读
  • 毒宠小谋妃

    毒宠小谋妃

    她助他夺嫡,却受他陷害,让家族蒙难,重生二十年之后,一切都已经天翻地覆。仇人登上了皇位,手握大权,意气风发,她沦落成了父母双亡、处处受难的孤女。冷眼看着那些在她面前摆弄算计的人,纪颜宁淡淡一笑,你们对力量一无所知!

  • 重生之将门宠妃

    重生之将门宠妃

    七年的相伴,原来只不过是利用,冷宫赐死的苏明月也许是命不该绝,回到了十四岁那年,从此踏上了复仇之路。她想,她应该是需要一个帮手,所以,她找上了京城所有少女的梦中情人宸王府世子元澈。他想,他应该是需要一个媳妇,所以,他找上了整个京城人人都称彪悍的将门虎女苏明月。明明说好的是合作,怎么就进了洞房了,还美其名曰,为长期合作奠定良好的基础。婚后大家只看见了向来英明神武的世子爷变成了妻控,唯妻是从。“世子爷,阮家的公子对我们世子妃动手动脚的?”小厮禀道。“把那小子的手给爷剁了。”“世子爷,北秦三皇子心仪我们世子妃,有意让她改嫁。”“点齐兵马,让他知道知道花儿为什么这样红。”“世子爷,不好了。”小厮匆匆而来,“世子妃跟容世子约会去了。”元澈一跃而起,“招呼人,随我去砸了容侯府,接世子妃回来。”……就这样,英明神武的宸世子在宠妻的道路上一去不复返。

  • 都市修仙奶爸

    都市修仙奶爸

    万年以前,他遭到暗杀,被师父带去了修仙界,渡劫失败后,他历经磨难回到了万年前的地球……物是人非事事休,她走了,给他留下一个萌娃!从今天开始,他将做一个宠娃奶爸!伤害我孩子的人,死都无法恕罪!

  • 麒麟战神

    麒麟战神

    五年前他是京都第一家族的天才少爷,却遭到族人嫉妒算计,将他丢到京都四少未婚妻的床上,一夜春华。彼时边疆大乱,天启叛军迅速崛起占领全球一半领土,各国政要被逼成立百国联盟,他果断参军!五年后,他成为麒麟战神,号令百国千万联军将叛军击退,让敌人闻风丧胆!待他荣归故里,发现昔日的女人,给自己生了一个可爱的女儿却遭人绑架……一声令下,百万大军出动,只为救出战神女儿!

  • 男主驾到:爱情不怕烦

    男主驾到:爱情不怕烦

    因为一个不能说的秘密,她女神熬成了大龄剩女。屡次相亲失败,她似乎已经习惯成自然……邂逅混血男神,不想却比自己小六岁。从前的暗恋对象,公司的高冷帅,混血的小男生让她陷入感情和世俗的漩涡里。世俗的偏见,现实的残忍,她能逃得过吗?

  • 霸道老公装高冷

    霸道老公装高冷

    一纸契约,她和他成了一对“假夫妻”。本来只是为了让爷爷安心找的假老公,怎么感觉好像哪里不对劲。等等!好像哪里都不对劲!“左天宸!你给我把手拿开!”“我搂自己老婆有问题吗?”“谁是你老婆!契约上说好不许动手动脚!”“契约?有吗?我们不是只有一份结婚证吗?”乔安安欲哭无泪:为什么当年那么高冷霸道的人会变得这么流氓?!“那是因为我只会对我老婆耍流氓!”“乔安安,你是我的人,只有我才能欺负你!”

  • 医道狂尊

    医道狂尊

    林阳遵循母亲的遗言,去给别人做上门女婿,去装一个废物,为期三年。现在,三年时间结束了...

  • 何如当初莫相识

    何如当初莫相识

    若是知道后半生的浮浮沉沉皆由他所起,简初宁愿在相遇的那一刻就选择错过。

  • 猜你喜欢
  • 前端mvc
  • 前端mvc框架有哪些
  • mvvm和mvc
  • angular是mvc还是mvvm
  • mvc模式和三层架构
  • mvp模式和mvc的区别
  • vue是mvc还是mvvm
  • mvc三层架构
  • mvc mvvm mvp区别
  • 热门推荐
  • 法律凶器
  • 钢琴曲微盘
  • computer network翻译
  • 奶酪陷阱 我们在交往
  • 泰坦尼克号幸存者露丝
  • 江绵抓了吗
  • jajahome是什么公司
  • aca烤箱说明书
  • Irobot 527
  • 兰博基尼烧什么油
  • swone前级效果器
  • 顺流利流 下载
  • 天蝎座女孩子的性格
  • expect wish
  • ciate口红
  • 全友家私衢州店
  • 蕾蒙威多少钱
  • 伊顿穆勒
  • 电阻焊电流和电压
  • 整理信息的人
  • All Right Reserved 安福网