城市直播房产教育博客汽车
快传网
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

没有后端基础如何理解MVCMVP和MVVM,可以以JavaS

3月19日 遭人厌投稿
  谢谢邀请!
  什么是MVC以及它的作用?
  MVC是一种分层架构模式,M代表数据模型以及相关数据处理逻辑,V就是用户界面,C代表控制器(可以认为它是逻辑处理路由)!通常的情景是用户操作了可视界面(V),用户的信息传递给了控制器,控制器把用户指令分发给对应的数据层(M),最终数据层处理好数据后,将最新的数据反映到界面上!MVC的作用是将以前杂乱的代码分层解耦,使得代码具有更好的维护性!
  如何理解MVC?
  在后端的知识体系中,MVC更容易理解!不过在前端中,我们有nodejs可以做后端,我们就拿nodejs举例!
  我们把用户操作的界面看作View层,用户操作浏览器后,请求来到服务端,路由将请求交给Controller,Controller调用对应的服务处理数据,数据处理后返回响应!这里我将Router和Controller放在一起,Service和db放在了一起!这样代码调理清晰,对代码增删改查都会非常方便!
  如果仅仅是浏览器端的逻辑,也可以采用MVC架构,例如Backbone。js,方式如下:
  1、dom是View层
  2、对dom的事件绑定,可以看作Controller
  3、将原始数据和数据的操作封装成数据模型(对象)
  4、Controller调用不同的数据模型处理数据
  5、数据处理完成后,采用观察者模式及时更新View
  什么是MVP、MVVM?
  其实MVP和MVVM是MVC的变种,Model和View没有直接的联系了,而是通过中间的那一层进行桥接!目前市场比较流行MVVM模式,比如VUE、REACT等!
  总结
  不管是哪一种架构模式,其实都是为了方便我们开发和维护,个人认为没有严格的标准去限定有多少层以及层与层的联系,只要适用于业务就是好的架构模式!
  MVC、MVP、MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用。
  MVC、MVP、MVVM三者特点
  MVC(同步通信为主):Model、View、Controller
  MVP(异步通信为主):Model、View、Presenter
  MVVM(异步通信为主):Model、View、ViewModel
  什么是MVC模式?
  MVC模式代表ModelViewController(模型视图控制器)模式。这种模式用于应用程序的分层开发。Model(模型)模型代表一个存取数据的对象或JAVAPOJO。它也可以带有逻辑,在数据变化时更新控制器。View(视图)视图代表模型包含的数据的可视化。Controller(控制器)控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。MVC是比较直观的架构模式,用户操作View(负责接收用户的输入操作)Controller(业务逻辑处理)Model(数据持久化)View(将结果反馈给View)。
  什么是MVP模式?
  MVP全称是ModelViewPresenter,是模型(model)视图(view)呈现器(presenter)的缩写。
  MVP是把MVC中的Controller换成了Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当桥梁,做到ViewModel之间通信的完全隔离。Model:业务逻辑和数据处理(数据库存储操作,网络数据请求,复杂算法,耗时操作)。View:对应于Activity,负责View的绘制以及与用户交互。Presenter:负责完成View于Model间的交互(有一点还需要注意,presenter是双向绑定的关系,因此,在设计的时候就要注意接口和抽象的使用,尽可能的降低代码的耦合度,这也是mvp的宗旨)。
  什么是MVVM模式?
  MVVM(ModelViewViewModel)是一种软件设计模式,由微软WPF(用于替代WinForm,以前就是用这个技术开发桌面应用程序的)和Silverlight(类似于JavaApplet,简单点说就是在浏览器上运行WPF)的架构师KenCooper和TedPeters开发,是一种简化用户界面的事件驱动编程方式。由JohnGossman(同样也是WPF和Sliverlight的架构师)与2005年在他的博客上发表。
  MVVM源自于经典的MVC(ModelViewController)模式。MVVM的核心是ViewModel层,负责转换Model中的数据对象来让数据变得更容易管理和使用。
  如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。它是将数据模型数据双向绑定的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。
  MVVM已经相当成熟了,主要运用但不仅仅在网络应用程序开发中。当下流行的MVVM框架有Vue。js,AnfularJS
  为什么要使用MVVM?
  MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大好处低耦合:视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。可复用:你可以把一些视图逻辑放在一个ViewModel里面,让很多View重用这段视图逻辑。独立开发:开发人员可以专注于业务逻辑和数据的开发(ViewMode),设计人员可以专注于页面设计。可测试:界面素来是比较难以测试的,而现在测试可以针对ViewModel来写
  我王者局局mvp
  不需要后端基础来理解mvcmvpmvvm。
  mvc就是模型试图控制器,模型类似数据schema,就是这个要渲染视图的数据结构;v就是模板,用于将数据格式化展示;c就是控制器,控制使用哪个模板,并将model与视图做映射,这样模型的数据就绘制到视图了。一般在controller和model中间会加一个service来处理下业务。
  mvp跟mvc挺像,所不同是p是presenter,用来替代c,这种模式下,不再是model直接映射到模板,而是通过presenter来把model数据拿到,然后由presenter这个代理器来将数据写入到视图,这样视图与model进行了解绑,开发变得更灵活,presenter还可以操控数据。
  mvvm就是从模型数据直接到视图再从视图到模型。这样去掉了v或者p,不再需要一层控制器或者代理器。这样的好处就是,针对数据模型编程,改变了数据也就是改变了视图,由框架来把视图和数据的联动搞定,开发者更多关心是数据逻辑开发,而复杂的dom操作,事件处理交给了框架。这样大型开发会变得容易些。m到v就是要监听到数据的变动,比如defineProperty、proxy、不停数据检测等方式来获知数据发生了改变,然后将改变后的数据更新到视图上;v到m就是监听dom的更新事件,凡事dom更新则将对应model更新。
  其实实际工作中仍然会三者有些结合或借鉴。目前大多采用mvvm框架,但是模型仍然是需要独立的,而且也需要service来进行承接,视图与模型的对应也可以视图对应的代理器完成。
  有时候我们为了实现松耦合和代码的易维护性,尽量将数据和视图以及连接器等解藕,这时候你觉得哪种实践最合适就怎么做,也不必拘泥于某个固定的形式。
  汗啊。JS不就是MVC中的C吗?
  这么一说不就很容易理解了吧?
  HTML是M
  CSS是V
  M:有什么
  V:什么样
  C:怎么样
  mvc和mvp基本是一个东西,区别只在于view是否直接操纵model,mvvm则是双向绑定,view可以直接修改model,反过来model的改变直接反应在view上。从js来看,node的express就是mvc,而angular则是mvvm
投诉 评论 转载

留学基金委(CSC)派出手续申请国家留学基金委公派出国项目获得批准后,下一步就需要办理派出手续。步骤之一是填写留学协议。知识人网小编整理了协议书填写的详细步骤,供大家参考。一、进入国家公派留学管理信……我想知道现在得了癌症要多少钱才能治好?我是一位癌症患者的家属,一个陪老婆抗癌的60后大叔。你提的问题正好我今天下午也在思考,并作了是否可行的规划,并把这个数据分享到了我的病友群吐槽了一下,引起了大家的普遍共鸣,抗癌……复古传奇今日为大家带来了传奇3魔兽怀旧,是一款盛行21世纪初大型网游,在那个年代互联网不够盛行的时代,刮起一阵阵又一阵阵的风潮。迄今也有一大群发烧友持续找到他存有的影子,传奇3我觉得肯……长安深蓝SL03首批新车交付,16。89万元起今年7月,长安深蓝SL03正式上市,1200增程版综合补贴后售价16。89万元、515纯电版综合补贴后售价18。39万元、705纯电版综合补贴后售价21。59万元、730氢电版……福建省直公积金首套房贷款利率下调0。15个百分点来源:福州晚报记者10月21日从福建省直公积金中心获悉,根据中国人民银行决定,首套个人住房公积金贷款利率自2022年10月1日起下调0。15个百分点。福建省直公积金贷款利……国足主教练李铁为什么不辞职?就目前国足的水平,你觉得高喊李铁下课,真正让李铁下课了,国足的水平就能上去了,看来你还不是一个老球迷,我们这些60年代的人,看中国足球几十年了。国足的队员是换了一茬又一茬,国足……东西问中外对话美国搅浑水危害亚太安全,中国如何破局?拜登政府上台后全力推进印太战略,企图拉拢地区国家共同遏制中国。印太战略如何威胁亚太地区的和平发展?以菲律宾为代表的东南亚国家如何看待这一战略?面对美国围堵,中国又当如何应对?……荒淫无度凶残嗜杀毫无孝道,南朝宋前废帝刘子业到底有多昏庸在古代皇权社会,皇帝作为国家的最高统治者,由于大权在握,因此一个皇帝是英明神武,还是昏庸无道,很大程度源于皇帝自身的道德修养。因此,在古代的数百位帝王之中,诞生了不少荒淫无度的……小学孩子数学奥数没上,到初中明显拉开差距,有什么更好的办法可谢邀。孩子小学数学奥数没上,与中学数学学得好坏没有必然联系,孩子数学没学好,真的不用考虑是因为没上奥数。坦率地讲,我就从来没讲过奥数,也不想学奥数。前几天我外孙托管里一位……苹果或推出无创血糖技术,A股可穿戴设备链迎来新机遇21世纪经济报道记者张赛男上海报道苹果近日曝光的一项技术受到市场高度关注。据知情人士透露,苹果最近在无创监测血糖技术领域取得了一些重大进展,目标是将血糖监测系统添加……没有后端基础如何理解MVCMVP和MVVM,可以以JavaS谢谢邀请!什么是MVC以及它的作用?MVC是一种分层架构模式,M代表数据模型以及相关数据处理逻辑,V就是用户界面,C代表控制器(可以认为它是逻辑处理路由)!通常的情……西夏国的主体民族党项族是怎样起源并发展壮大的?西夏其实很有趣儿正说西夏史系列连载NO。1引子西夏是以党项族为主体的多民族王国,党项族是羌族的一个分支。历史文献中对党项族的最早记载始于南北朝末期,《隋书》、《旧唐书》、……
西安有种小吃叫搅团,大家了解吗?郑爽演的电视剧有哪些郑爽是怎么出道走红的漱口水能去除牙结石吗后的婚姻都怎么了种种迹象表明统一正在加速,大家不必紧张,但要做好思想准备首华物业不忘初心精细服务难忘的一次旅行石柱夜景怎样形容优秀的企业文化的变革如何应对助你成功的企上下五千年第四十二集张骞通西域亲戚的儿子要在北京买房子,找我们借钱凑首付,我家也在还房贷,阅读了解喜欢
如何修补塑料游泳圈一露面就引起全场大合唱,这首12年前的歌,照样飙升第一凭实力出圈宝鸡这些县区上榜中国百强拟古二十首其八刑九变为单位犯罪抗税的法律规定是什么?本人月收入3500元,过年了想买车,建议选什么车型,按揭购买谢谢你朋友优秀作文三篇难忘的军训第一次炒菜小学优秀作文500字刑事拘留最高多长时间?热闻聚热点网 9000万年前的南极长满了温带雨林自体软骨隆鼻后效果很自然吗

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁