美文网首页
简单demo讲解mvp模式,便于理解

简单demo讲解mvp模式,便于理解

作者: xiaohuage | 来源:发表于2019-11-10 10:54 被阅读0次

    mvp模式是在mvc的模式上发展而来,m是model,v是view,p是present,可以粗略的理解为:model为数据,view为ui,present为连接数据和ui的中间纽带,那么思考present是如何连接数据和ui的?数据和ui又存在着怎样的关系?

    生活中,我们使用的app,每个页面都是由两部分组成,数据和ui,比如说数据的具体体现形式是:图片、文字、视频、音频。ui即是app用来显示数据的控件,那么数据和ui的关系无非就是两种情况:1、通过网络获取数据或者自己制造数据加载到ui显示给用户2、用户输入(ui)获取数据通过网络给服务端,完成数据的交互

    那么今天,我们通过第二种情况的讲解来理解下mvp模式,最简单的理解mvp模式的demo莫过于常见的登录页面了,我们都知道,登录需要用户输入用户名和密码,然后点击登录按钮去服务器验证,即这一过程为:通过ui输入数据,获取数据,发送数据到后台服务器验证,完成数据的交互。首先,我们新建一个登录目录取名为login,在登录目录下新建三个目录,分别为:model、view、present。下面我们来分析这三个目录下都应该做什么工作,首先是用户输入数据,那么先从view着手分析,view下面我们可以新建一个接口IUserView,该接口完成的的行为:获取用户名控件、获取密码输入控件,获取登录按钮控件,新建实现接口的类LoginActivity,到这一步,view目录下面的操作完成了,下面我们来操作model目录,同样新建一个接口IModel,该接口完成的行为:获取用户名数据、密码数据、登录用户信息的后台验证,同样需要新建一个实现类IModelIml,到此model目录下的操作也完成了,那么接下来重点分析present目录下需要做的工作,present如何将model(数据)和view(ui)巧妙结合?present需要做的工作:1、拿到view中用户输入的数据传给model2、获取登录按钮的点击事件,触发给model,完成登录验证。那么在present目录下新建的接口IPresent需要的唯一行为是监听按钮点击事件,在LoginActivity下实现类IPresentIml通过构造函数获取view目录下接口的实例,通过实例可以在IPresentIml类下获得view的各个控件,并设置监听事件,获取到控件后自然就能获取到控件上面的数据,设置成全局变量,通过在IPresentIml类中实例化 IModelIml的构造函数传给model模块了,监听触发IModelIml的登录服务器验证,就完成了整个mvp模式的登录验证操作设计了。

    思路完毕,以后加图和代码,更加形象。

    相关文章

      网友评论

          本文标题:简单demo讲解mvp模式,便于理解

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