美文网首页
Android中MVP模式(一)

Android中MVP模式(一)

作者: 大佬不是大佬 | 来源:发表于2019-08-10 17:15 被阅读0次

    1、什么是 MVP模式?

        同 MVC一样,是一种编程模式和思想,是一种架构。

    2、MVP和MVC。

        M:Model,代表业务数据。

        V:View,代表视图

        C:Controller,代表控制器

    用户通过界面操作 View,相应的动作传递给 Controller层,而 C层根据业务逻辑操作 Model层,而最终 M层变化同步更新到视图层。

    3、Android中的 MVC

        Activity对应的视图界面就是 View层;

        数据库文件,Sharedprefrence,内存缓冲,磁盘缓冲等数据内容对应 Model层。

        C层基本由 Activity层面进行。

    4、Android中 mvc基本动作流程

    1,layout制定相应的布局文件,然后显示在 Activity上,用于显示天气信息。对应于 View层,这里的 View并不是 Android开发中组件的 view而是对视图的统称。

    2、Activity在 onCreate()或者 onResume()去服务器获取数据,或者通过界面上的某按钮去启动获取数据的任务,这里就对应到 View->Controller,只不过 View和 Controller是由 Activity完成。

    3、C层获得数据后,分别存在内存、磁盘和数据库中,并且数据获取成功或者失败后,Activity界面需要同步更新状态。

    4、MVP的出现

        因为 Activity对应了 MVC模式中的 V和C,代码臃肿,所以出现了 MVP模式。

    Model:M层负责数据。

    View:V层负责 Activity上的布局。

    Presenter:P层负责中间纽带。

    MVP开发在 Android中的基本流程:

        1、View层定义 View.interface,用来定义 View的行为。一般由 Activity或者 Fragment来实现这个接口,定义了 View视图的各种变化,如设置Textview,加载对话框,更新进度条等。

        2、Model层定义 Model.interface,用来定义数据层发生变化时的通知接口,因为 M不能与C直接交互,所以它与 Presenter交互,然后通过 Presenter间接达到与 View交互。

        3、Presenter负责具体 业务逻辑,请求数据,把数据送到 Model,或者监听 Model的数据变化,接受 View层的动作,负责通知 View层的视图变化。

    5、MVP与MVC的重要区别:

        MVC中 Model、VIew、Controller之间互相通信。

        MVP:Model与Presenter通信,View与Presenter通信,而Model与View之间没有通信。

        MVC开发模式中,分工每个人负责相应的 Activity,再后来某 Activity变得越来越重要,代码越来越多,会造成某个人的开发任务中间,并且其他人帮不上忙。

        MVP则可以将 Activity细分,分为 View和 Presenter两部分,让一人开发 View,另一人负责 Presenter部分。并且 V的变动对P影响不大,越复杂优势越大。

    Android中MVP模式讲解及实践

    相关文章

      网友评论

          本文标题:Android中MVP模式(一)

          本文链接:https://www.haomeiwen.com/subject/gcprjctx.html