【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » IT资讯 » 正文

安卓架构MVP(一)

放大字体  缩小字体 发布日期:2020-09-11 15:48:34    浏览次数:10
导读

  关于Android程序的构架, 当前最流行的模式即为MVP模式, Google官方提供了Sample代码来展示这种模式的用法.  Android在如何组织和构架一个app方面提供了很大的灵活性, 但是同时这种自由也可能会导致app在测试, 维护, 扩展方面变得困难.  Android Architecture Blueprints展示了可能的解决方案. 在这个项目里, 我们用

  关于Android程序的构架, 当前最流行的模式即为MVP模式, Google官方提供了Sample代码来展示这种模式的用法.

  Android在如何组织和构架一个app方面提供了很大的灵活性, 但是同时这种自由也可能会导致app在测试, 维护, 扩展方面变得困难.

  Android Architecture Blueprints展示了可能的解决方案. 在这个项目里, 我们用各种不同的构架概念和工具实现了同一个应用(To Do App). 主要的关注点在于代码结构, 构架, 测试和维护性.

  但是请记住, 用这些模式构架app的方式有很多种, 要根据你的需要, 不要把这些当做绝对的典范.

  MVP跟MVC很相像,我上篇文章列出了很多种MVC的设计图,所以根据MVC的发展来看,我们把MVP当成MVC来看也不为过,因为MVP也是三层,唯一的差别是Model和View之间不进行通讯,都是通过Presenter完成, Presenter主要作为View和model交互的一个纽带 扮演 “主持交互”的角色。处理交互逻辑。

  前面介绍MVC的时候提到了算是致命缺点吧,在android中由于activity(god object)的存在,Controller和View很难做到完全解耦。但在MVP中就可以很好的解决这个问题 。

  先说Model: 它是一个负责管理数据的接口。模型的职责包括使用API、缓存数据、管理数据库等。该模型也可以是一个接口,与其他模块负责这些职责的沟通。例如,如果您使用的是存储库模式,则该模型可能是一个存储库。如果您使用的是干净的建筑,相反,该模型可以关联。(翻译过来略显生硬 简而言之 Model层是数据访问层,如数据库API或远程服务器API)

  Presenter:大家可以看到Model和View是完全没有交互的。那么 Presenter则担当Model与View之间的中间人。你所有的业务逻辑都属于它。Presenter负责查询模型和更新视图,响应用户交互更新模型。

  其实MVP就是MVC延伸出来,同样是划分三层,不过MVP的Presenter让Activity更加专注于处理页面显示。这样做的好处就是:让Activity只做UI的处理,数据处理和业务逻辑全丢给Presenter来完成。但是有个缺点就是我们要写很多的接口类,增加代码量。

  结构图。 接下来就一步步教你用:1、首先把结构包分好,方便理清思路2、定义Model层的接口IModel/** * Model层接口---实现该接口的类负责实际的获取数据操作,如数据库读取、网络加载...

  中的 Presenter 是 “中间人”角色,它的功能是在 Model–View–Presenter 三者中起到连接和协作的作用。程序中的大部分的逻辑都应该在 Presenter 中实现。

  ,MVVM,简单介绍下其余两种MVCM(Model)是数据模型,或者数据处理,V(View)是视图控件,C(controller)是逻辑控制类,MVC是以前常用或者老式的项目用的比较多,优势和缺陷都相当明显,感觉并会没有彻底做到VC分离的效果优势:除了model是独立的,V和C在Activity中体现最为明显,Activity即作为V......

 
关键词: 安卓架构
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-526199.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4