前端开发MVC与MVVM的区别

MVC的定义:MVC是Model-View- Controller的简写。

即模型-视图-控制器。M和V指的意思和MVVM中的M和V意思一样。C即Controller指的是页面业务逻辑。

使用MVC的目的就是将M和V的代码分离。

‘MVC是单向通信。也就是View跟Model,必须通过Controller来承上启下。

MVC和MVVM的区别并不是VM完全取代了C,ViewModel存在目的在于抽离Controller中展示的业务逻辑。

而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。

也就是说MVVM实现的是业务逻辑组件的重用。

由于mvc出现的时间比较早,前端并不那么成熟,很多业务逻辑也是在后端实现,所以前端并没有真正意义上的MVC模式。

而我们今天再次提起MVC,是因为大前端的来到,出现了MVVM模式的框架。

原文地址:https://www.cnblogs.com/CWJDD/p/11464980.html

时间: 2024-11-07 02:38:21

前端开发MVC与MVVM的区别的相关文章

什么是MVVM,MVC和MVVM的区别,MVVM框架VUE实现原理

MVC和MVVM的qu'bie 1. Mvvm定义MVVM是Model-View-ViewModel的简写.即模型-视图-视图模型.[模型]指的是后端传递的数据.[视图]指的是所看到的页面.[视图模型]mvvm模式的核心,它是连接view和model的桥梁.它有两个方向:一是将[模型]转化成[视图],即将后端传递的数据转化成所看到的页面.实现的方式是:数据绑定.二是将[视图]转化成[模型],即将所看到的页面转化成后端的数据.实现的方式是:DOM 事件监听.这两个方向都实现的,我们称之为数据的双向

浅谈前端开发工程师与美工的区别

一. 什么是美工?     美工:意为美术工程师(Art Engineer),一般出身于艺术美术院校的艺术设计专业居多.     根据工作性质美工一般分为平面美工.三维美工.网页美工三大类.     平面美工是由美工用Fireworks 或者 Photoshop 设计出平面外观.     三维美工是由美工用3DMAX等工具进行三维角色模型设计,道具模型设计,环境场景模型设计,包装设计等.     网页美工是美工用Dreamwerver等网页编辑软件把已经设计好的平面效果图,制做成HTML静态网页

mvc和mvvm区别

mvc和mvvm区别 MVC和MVVM的区别其实并不大.都是一种设计思想. 主要就是MVC中Controller演变成MVVM中的viewModel. MVVM主要解决了MVC中大量的DOM操作使页面渲染性能降低,加载速度变慢,影响用户体验. 当和Model频繁发生变化,开发者需要主动更新到View. MVVM:是Model-View-ViewModel的简写 M:对应于MVC的M V:对应于MVC的V VM:ViewModel,是把MVC里的controller的数据加载,加工功能分离出来 M

(一)mvc与mvvm设计模式

前沿:了解设计模式对我们而言,具有很大意义,对语言没有限制,它适用于任何语言,是一种变成思想.设计模式最初有四人帮提出,有兴趣的同学可以去了解下,今天给大家主要分析mvc与mvvm设计模式 一.mvc设计模式: 字面理解,mvc就是model,view,controller. 三者又分别是什么呢? model有模型的意思,不过这里他代表的数据模型.就是说整个项目运行中担任了数据供给的部分. view是视图的意思,这里代表即前端ui视图,就是界面. cotroller是控制器的意思,在mvc中起着

关于iOS中MVC和MVVM的一些思考

事情从一般开发中一个massive viewController说起,一个巨大的vc一般少则上千行代码,多则上万行. 这中情况下对代码的维护有致命性的障碍,个人亲身体验. 当你试着从6000行的代码中去找到一个网络请求,找到相关的实现逻辑,这已经能够让你眼花缭乱的. 更进一步,如果你打算对某个逻辑,某个场景进行测试,那事情的困难程度非常大. 再者,如果你想重用某一部分的场景逻辑,那几乎不可能,因为所有的代码都耦合在一个vc中了. 为什么会造成一个vc的代码这么多,这么复杂呢? 一般有以下原因:

浅析前端开发中的 MVC/MVP/MVVM 模式

MVC,MVP和MVVM都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式.不同于设计模式(Design Pattern),只是为了解决一类问题而总结出的抽象方法,一种架构模式往往使用了多种设计模式. 要了解MVC.MVP和MVVM,就要知道它们的相同点和不同点.不同部分是C(Controller).P(Presenter).VM(View-Model),而相同的部分则是MV(Model-View). Model&View 这里有一个可

【转】Web前端开发:为何选择MVVM而非MVC

在Web中充斥着所谓的MVC框架,而在我看来,因为一些关键性的技术原因,MVC在Web前端开发中根本无法使用(对的,是无法,而不是不该) 在Web中充斥着所谓的MVC框架,而在我看来,因为一些关键性的技术原因,MVC在Web前端开发中根本无法使用(对的,是无法,而不是不该) . 在MVC原始报告中指出: view永远不会知道用户输入,比如鼠标操作和按键. 很显然,在Web前端,你无法做到这一点,因为Web的程序中,用户的输入必须通过监听窗口.文档和元素上的事件来获得.——而这些东西常常被认为是V

第四十六课:MVC和MVVM的开发区别

实现MVC的目的就是为了让M和V相分离.前端的MVC无法做到View和Model的相分离,而MVVM可以. 我们先来看一个用MVC模式开发的经典例子:(一定要深入了解这种开发的思想,而不是看懂代码) $(function(){ //基本的Todo模型, var Todo = Backbone.Model.extend({ // 设置模型的默认属性 defaults: { content: "empty todo...", done: false }, //确保每一个模型的content

Web前端开发:为何选择MVVM而非MVC

在Web中充斥着所谓的MVC框架,而在我看来,因为一些关键性的技术原因,MVC在Web前端开发中根本无法使用(对的,是无法,而不是不该) 在Web中充斥着所谓的MVC框架,而在我看来,因为一些关键性的技术原因,MVC在Web前端开发中根本无法使用(对的,是无法,而不是不该) . 在MVC原始报告中指出: view永远不会知道用户输入,比如鼠标操作和按键. 很显然,在Web前端,你无法做到这一点,因为Web的程序中,用户的输入必须通过监听窗口.文档和元素上的事件来获得.——而这些东西常常被认为是V