clwn.net
当前位置:首页 >> 简述mvvm框架的理解 >>

简述mvvm框架的理解

1.MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写.2.MVVM是Model-View-ViewModel的简写.它本质上就是MVC 的改进版.3.MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model)4.最典型的MVC就是JSP + servlet + javabean的模式.也就是说,不管是MVC还是MVVM,都是为了使程序更加便利,用一个成语来说,叫做各司其职,每一层由每一层相应的工作,不会多做也不会少做,而MVVM也是与时俱进的产物,应对人们日益复杂的需求变化而产生的.

解决数据库数据和页面显示的问题而出现前端的MVVM框架 mvvm:Model-View-ViewModel View表示我们网页 Model表示网页动态显示需要的数据 mvvm的设计思想主要实现页面和数据模型的同步,当view改变的时候会自动将数据同步到model,model改变的时候也会自动将数据同步到view,更新view的动态显示,Model可以简单理解为与网页关联的本地数据引擎.

这些都是是懂后台的程序员搞出来的,本来像直接用mvc模式的,但后来发现客户端跟服务器环境不一样所以就改变了一下.

各大软件和系统,包括现在的手机,都趋向于mvp,web更倾向mvc但是也有趋向于mvp的.感觉核心就是从mv+一个代理方式,只要这个方式方便测试,降低耦合就会不断改进

作者:子丶言链接:http://www.zhihu.com/question/30663561/answer/49072838来源:知乎著作权归作者所有,转载请联系作者获得授权.M -> V 的绑定可以通过 ES5的Object.defineProperty方法来实现(ember和avalon都是用该方法实现的)

刚开始理解这些概念的时候认为这几种模式虽然都是要将view和model解耦,但是非此即彼,没有关系,一个应用只会用一种模式.后来慢慢发现世界绝对不是只有黑白两面,中间最大的一块其实是灰色地带,同样,这几种模式的边界并非那么

mvc: View 传送指令到 Controller Controller 完成业务逻辑后,要求 Model 改变状态 Model 将新的数据发送到 View,用户得到反馈 所有通信都是单向的. Angular它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然. 组成部分Model、View、ViewModelView:UI界面 ViewModel:它是View的抽象,负责View与Model之间信息转换,将View的Command传送到Model; Model:数据访问层

hibernate和ibtas(mybatis)是为了解决不同问题而出现的.hibernate是从对象的角度去看数据库,所有数据库层面的表在hibernate看来都是一个个对象,若是对象自然就有一对多,一对一等等关系.hibernate在对象层面完全封装了数据库层面的

struts2是一个控制器,负责接收页面数据并调用视图层的方法返回页面所需要的数据,hibernate负责数据的持久化,因为现在一般采用的数据库都是关系型数据库,而java是面向对象的,所以hibernate负责数据的落地,spring则把变化封装了,通过spring完成依赖注入,能降低各个模板间的耦合,有利于提高项目各个模板间的复用,使系统更加趋近于高内聚,低耦合的要求,其实都要看自己的理解的同,别人怎么说都是别人的理解,经过代码的实践和自己遇到 问题的思考也会对SSH框架有更好的理解.

复杂的我也说不利索也不能说都了解,就说一下硬需求,vue.js 只支持ie9及以上.angular 1.2.x需要打补丁支持ie8,angular 1.3.x 不支持ie8,只支持ie9+, angular2.0 未知.avalon 最低支持ie6,有手机版专版.缺点:大而全:学习起来有难度,对于我来讲学习曲线很曲折,比较难理解一些.

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com