zoukankan      html  css  js  c++  java
  • Android框架式编程之MVP架构

    MVP是Google官方发布的Android开发相关的架构知识。本文要讲解的是一种最基本的MVP的实现方式,它使用手动的依赖注入来提供具有本地和远程数据源的存储库。异步任务处理回调。

    基本的MVP示例项目地址:https://github.com/googlesamples/android-architecture/tree/todo-mvp/

    下图是基本的MVP的逻辑图:

    注意:在MVP的模式中,View是被重新定义的。

    • android.view.View类被指为Android View。
    • 在MVP中,接受presenter命令的View将被简称为View。

    MVP(Model-View-Presenter)模式,将APP的结构分为三层:View - Presenter - Model。

    View

    1. 提供UI交互

    2. 在presenter的控制下修改UI。

    3. 将业务事件交由presenter处理。

    注意:View层不存储数据,不与Model层交互。

    Presenter

    1. 对UI的各种业务事件进行相应处理。也许是与Model层交互,也许自己进行一些计算,也许控制后台Task,Servic

    2. 对各种订阅事件进行响应,修改UI。

    3. 临时存储页面相关数据。

    注意 : Presenter内不出现View引用。

    Model

    1. 从网络,数据库,文件,传感器,第三方等数据源读写数据。

    2. 对外部的数据类型进行解析转换为APP内部数据交由上层处理。

    3. 对数据的临时存储,管理,协调上层数据请求。

    下图是MVP各层的结构示意图:

    MVP架构将复杂的功能分割为各层内的小问题。各层内功能单一,易于功能修改拓展与Debug。解耦的设计,独立的模块,更有利于分工开发与测试。 

    推荐优秀的MVP架构参考文档

    书客创作 - MVP架构设计:http://www.ibooker.cc/article/153/detail

  • 相关阅读:
    单点登陆的javascript类原创
    goole图标
    字符串string的相关应用
    今天心情好,发首我喜欢的歌天黑黑
    爱情幸福!
    linux虚拟实现
    页面显示的问题
    由我们MIS的老师,所引发的一点感想.
    有关PERL5和正则表达式
    本来没有什么好说的!
  • 原文地址:https://www.cnblogs.com/renhui/p/6277398.html
Copyright © 2011-2022 走看看