网站大量收购独家精品文档,联系QQ:2885784924

Android框架模式MVC和MVP使用总结.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android框架模式MVC和MVP使用总结.doc

一.基础概念 Android中最常用的框架开发模式是MVC和MVP。 这里要区分设计模式和框架模式。设计模式有23种,都 是从java的设计思想相关的。本地主要对Android框架模 式做详细介绍。 (一)MVC MVC (Model-View-Controller) : M 是指逻辑模型,V 是 指视图模型,C则是控制器。 一个逻辑模型可以对于多种视图模型,比如一批统计数据 你可以分别用柱状图、饼图来表示。一种视图模型也可以对 于多种逻辑模型。使用MVC的目的是将M和V的实现代码分 离,从而使同一个程序可以使用不同的表现形式,而C存在 的目的则是确保M和V的同步,一旦M改变,V应该同步更 新,这与《设计模式》中的观察者模式是完全一样。 MVC好处:从用户的角度出发,用户可以根据自 己的需求,选择自己合适的浏览数据的方式。比如说,对于 一篇在线文档,用户可以选择以HTML网页的方式阅读,也 可以选择以Pdf的方式阅读。从开发者的角度,MVC把应用 程序的逻辑层与界面是完全分开的,最大的好处是:界面设 计人员可以直接参与到界面开发,程序员就可以把精力放在 逻辑层上。而不是像以前那样,设计人员把所有的材料交给 开发人员,由开发人员来实现界面。在EclipesI具中开发 Android采用了更加简单的方法,设计人员在DroidDraw中 设计界面,以XML方式保存,在Eclipes中直接打开就可以 看到设计人员设计的界面。 Android中界面部分也采用了当前比较流行的 MVC框架,在Android中: 1) 视图层(View): 一般采用XML文件进行界面的描 述,使用的时候可以非常方便的引入。当然,如何你对 Android 了解的比较的多了话,就一定可以想到在Android 中也可以使用JavaScript+HTML等的方式作为View层,当 然这里需要进行Java和JavaScript之间的通信,幸运的是, Android提供了它们之间非常方便的通信实现。 2) 控制层(Controller) : Android的控制层的重任 通常落在了众多的Acitvity的肩上,这句话也就暗含了不 要在Acitivity中写代码,要通过Activity交割Model业 务逻辑层处理,这样做的另外一个原因是Android中的 Acitivity的响应时间是5s,如果耗时的操作放在这里,程 序就很容易被回收掉。 3)模型层(Model):对数据库的操作、对网络等的 操作都应该在Model里面处理,当然对业务计算等操作也是 必须放在的该层的。就是应用程序中二进制的数据。 在Android SDK中的数据绑定,也都是采用了与 MVC框架类似的方法来显示数据。在控制层上将数据按照视 图模型的要求(也就是Android SDK中的Adapter)封装就 可以直接在视图模型上显示了,从而实现了数据绑定。比如 显示Cursor中所有数据的ListActivity,其视图层就是一 个ListView,将数据封装为ListAdapter,并传递给 ListView,数据就在ListView中现实。 (二)MVP M-Model-模型、V-View-视图、P-Presenter-表示器。 MPV是从经典的MVC模式演变过来的,其基本思路都是相 通的。其中M是model模型,提供业务数据;P和MVC中的 C担当的角色相似,是Presenter控制者,进行逻辑处理。V 是View视图,显示数据。MVP与MVC有着一个重大的区别: 在MVP中View并不直接使用Model,它们之间的通信是通过 Presenter (MVC中的Controller)来进行的,所有的交互都 发生在Presenter内部,而在MVC中View会从直接Model 中读取数据而不是通过Controllero 二.两个框架模式的区别 MVC框架模式的处理关系: McxM MVP框架模式的处理关系: ■ Model 其实最明显的区别就是,MVC中是允许Model和View进 行交互的,而MVP中很明显,Model与View之间的交互由 Presenter完成。还有一点就是Presenter与View之间的交 互是通过接口的(代码中会体现)。 在MVC框架中,View是可以直接读取Model模型中的数 据的,Model模型数据发生改变是会通知View数据显示发生 相应的改变。而在MVP中Model和View之间的没有任何联 系,是两个完全独立的模块,当Model模型发生数据改变时, 通过Presenter通知View视图发生相应的UI改变。因此, 个人觉得:MVP才是正真的视图和模型完全分离,也就是 Model模型进行业务数据处理和View视图显示没有任何关 联。 总结:MVP框架模式完全将M

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档