MVP架构Android代码经验实践
先来一位大神的博客:鸿洋博客,里面讲MVP架构相关知识讲的很详细,不懂MVP架构的可以去看看,安卓这块****中我很欣赏的博主之一,我也是参考着他的博客,然后通过实践做项目才有的目前的经验。
话不多说,先看看我是怎么把代码耦合性很高的类拆成MVP架构的,先上简单的例子来讲解:
这是一个简单的标签收藏的功能,不用架构来写代码大家应该是这样写如下:
先初始化initView():
模式来修改它,以达到解耦合的目的。
(1)View
下面我们先从MVP的V(View)开始进行。
看过鸿洋博客的,都知道,我们在写View接口的时候,注意三件事情:
1、你在界面层很获取到什么?显然是标签名:getEditText();X坐标:getX();Y坐标:getY();比例尺:getScale();
2、你在界面层操作之后结果,对应的反馈?显示收藏成功信息:showCollectionSuccessMsg();显示收藏失败:showCollectionFailedMsg();
3、该操作过程中对应的友好交互:收藏完毕后,设置按钮不可点击:setFavBtnEnable()
这样就将View层的接口抽出来了,代码如下:
然后再让我们的Activity或者Fragment去实现这个接口,然后实现就可以了,直接上代码。
(2) Model
再来讲下MVP架构的,M(Model)层:
这块就一个业务类方法,暂时没有用到实体类,当然有用到实体类时候,我会提醒大家,话不多说:
这块就一个业务类方法,暂时没有用到实体类,当然有用到实体类时候,我会提醒大家,话不多说:
(3)Presenter
然后就是P层了(Presenter)
然后就是P层了(Presenter)
P层就是Model层和View层之间的桥梁的作用,是两个之间的纽带,这也是MVP能够解耦的关键的地方。
先上代码: