美文网首页
Android MVP 个人实现

Android MVP 个人实现

作者: xxoolltt | 来源:发表于2016-10-21 17:32 被阅读44次

前言

MVP是根据MVC演变而来,类似的设计模式还有MVVC(model,view,viewmodel) . 暂时未分清楚MVC与MVP的区别.也没有找到严谨的MVP的定义.根据网上的资料以及Goggle的demo,自己定义进行了MVP设计,用来解决Activity过于庞大的问题。

MVP设计

首先定义三个部分 Model,View,Presenter.
View ,Presenter 各自定义接口,IView IPresenter.

public interface IVideoPlayerPresenter {   
 public void loadData();  
  //点击关注   
 public void clickFollow(); 
 //点击喜欢   
 public void clickLike();   
}
public interface IVideoPlayerView {   
 void bindData(VideoPlayerPageEntity entity);   
 void showLoading(boolean show);   
 //设置关注状态   
 void setFollow(boolean follow);   
 void setLike(boolean like);
  • View

Android 中Acitivity或者Fragment实现IView接口,扮演View角色

public class VideoPlayerActivity extends BaseActivity implements View.OnClickListener,IVideoPlayerView 

在onCreate()函数中初始化presenter,并且加载数据

presenter = new VideoPlayerPresenter(this,client);
presenter.loadData();
  • Presenter

Presenter中完成数据的加载以及逻辑的处理,在构建函数中保存IView引用,用来与View交互

public class VideoPlayerPresenter implements IVideoPlayerPresenter{
  public VideoPlayerPresenter(IVideoPlayerView videoPlayerView ) {
     this.videoPlayerView = videoPlayerView;   
  }
  @Override
  public void loadData() {   
    videoPlayerView.showLoading(true);   
    DataManager.getData(url);
 }
  • Model

Model主要进行获取、保存、修改数据等功能,可以定义全局的DataManager进行封装。如果数据结构简单,也可以省略Model实现,直接在Presenter中进行数据操作。

总结

这样实现MVP未必“规范” , 但是任何设计都是为了解决问题。该方式可以将业务、数据、UI进行解耦,程序结构清晰,方便测试。即可满足现阶段需求。
当日后程序更为庞大,业务更为复杂, 再使用其他方式进行重构。

相关文章

  • Android MVP 个人实现

    前言 MVP是根据MVC演变而来,类似的设计模式还有MVVC(model,view,viewmodel) . 暂时...

  • Android MVP

    Android MVP初探 Android MVP进阶 Android MVP高级 Android MVP扩展

  • 20151226-App架构以及MVP和MVVM了解

    1.MVP:先模仿照抄,搬运工来啦 一种在android中实现MVP模式的新思路 译文-Android的MVP模式...

  • MVP框架学习

    一、MVP介绍 二、为什么使用MVP模式 三、MVP与MVC的异同 四、使用MVP实现Android的登录的Dem...

  • MVP 笔记

    MVP 与 MVC 简单介绍 实践 参考资料:Android MVP 详解(下)一步一步实现 Android 的M...

  • android应用市场、社区客户端、漫画App、TensorFl

    Android精选源码 MVP架构Android应用市场项目 android刻度盘控件源码 Android实现一个...

  • MVP / RxJava / Retrofit / RxBus

    MVP Android MVP 详解(上) Android MVP 详解(下) Android中的MVP模式,带实...

  • Android Mvp实践

    Android Mvp实践 简介 本文是参考google官方发布的MVP架构demo以及前人对MVP实现方式的一些...

  • Android Retrofit 2 + Retrofit 2

    实现MVC基础框架实现MVP基础框架(一)Android Retrofit 2 + Retrofit 2 封装(二...

  • Android MVP Demo

    MVP作为Android最常用的框架,网上已经有很多相关的解释,每个人对MVP的实现方式都有些许不同,但总的思想还...

网友评论

      本文标题:Android MVP 个人实现

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