南谯区招标采购网,儿女传奇之末路姐妹,柒彩都市
本文将详细阐述以下mvc、mvp、mvvm三种理念的定义
mvc
mvc全名是model view controller,是软件工程中的一种软件架构模式,把软件系统分为三个 基本部分:模型(model)、视图(view)和控制器(controller)。
mvc是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。
mvc特点:
mvc模式的特点在于实现关注点分离,即应用程序中的数据模型与业务和展示逻辑解耦。在客户端web开发中,就是将模型(m-数据、操作数据)、视图(v-显示数据的html元素)之间实现代码分离,松散耦合,使之成为一个更容易开发、维护和测试的客户端应用程序。
view 传送指令到 controller ;
controller 完成业务逻辑后,要求 model 改变状态 ;
model 将新的数据发送到 view,用户得到反馈。
mvc流程:
mvc流程一共有两种,在日常开发中都会使用到。
一种是通过 view 接受指令,传递给 controller,然后对模型进行修改或者查找底层数据,最后把改动渲染在视图上。
另一种是通过controller接受指令,传给controller:
mvc优点:
mvc缺点:
mvc应用:
在web app 流行之初, mvc 就应用在了java(struts2)和c#(asp.net)服务端应用中,后来在客户端应用程序中,基于mvc模式,angularjs应运而生。
mvp
mvp(model-view-presenter)是mvc的改良模式,由ibm的子公司taligent提出。和mvc的相同之处在于:presenter负责业务逻辑,model管理数据,view负责显示,同时改变了通信方向。
mvp特点:
mvp优点:
mvp缺点:
视图和presenter的交互会过于频繁,使得他们的联系过于紧密。也就是说,一旦视图变更了,presenter也要变更。
mvp应用:
可应用与android开发。
mvvm
mvvm是model-view-viewmodel的简写。微软的wpf(windows presentation foundation–微软推出的基于windows 的用户界面框架)带来了新的技术体验, 使得软件ui层更加细节化、可定制化。与此同时,在技术层面,wpf也带来了 诸如binding(绑定)、dependency property(依赖属性)、routed events(路由事件)、command(命令)、datatemplate(数据模板)、controltemplate(控制模板)等新特性。mvvm模式其实是mv模式与wpf结合的应用方式时发展演变过来的一种新型架构模式。它立足于原有mvp框架并且把wpf的新特性糅合进去,以应对客户日益复杂的需求变化。
mvvm优点:
mvvm模式和mvc模式类似,主要目的是分离视图(view)和模型(model),有几大优点:
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio 解决logcat无过滤工具栏的操作
Android Studio 恢复小窗口停靠模式(Docked Mode)
Android studio保存logcat日志到本地的操作
Android Studio快捷键生成TAG、Log.x日志输出介绍
网友评论