MVP简单示例

原创 2016年08月28日 17:32:34

MVP简单示例

本人菜鸟,可能理解和注解有误,请多担待

MVP多基于接口回调

示例

这里写图片描述
如图所示,MVP模式中需要使用的三个包,分别是model-view-presenter,他们的功能分别是:
- model:用于存放与数据处理有关的类
- view:用于存放于视图处理有关的类
- presenter:顾名思义,主持人,用来桥接处理类和视图类的类

1)model
其中包括有Model接口和一个实现该接口的UserModel类,他们的具体内容如下:

Model.class

public interface Model {
    void getData(Qiao qiao);//该方法功能为在其他的类中调用回调接口
    interface Qiao{//这个接口就是函数回调,我理解为一个用来传递数据的桥
        void qiao(List list);
    }
}

UserModel.class

public class UserModel implements Model {//实现model接口
    @Override
    public void getData(Qiao qiao) {
    //以下代码是一个数据源,即为数据的处理
        ArrayList<Integer> strings = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            strings.add(i);
        }
        //将数据源传入到qiao方法中,用于将其传入到其他的类中
        qiao.qiao(strings);
    }
}

2)view
其中包括有一个View接口和实现了该类的MainActivity类,具体内容如下:
View.class

public interface View {
    void showView(List list);//定义一个协议,该实现类都需遵循该协议
}

MainActivity.class

public class MainActivity implements View{//实现View接口

    public static void main(String[] args) {
        MainActivity mainActivity = new MainActivity();
        new Presenter(mainActivity).laod();
    }

    @Override
    public void showView(List list) {//showView方法的具体实现,即为数据的显示
        for(Object i : list){
            int num = (int) i;
            System.out.println(num);
        }
    }
}

3)presenter
其中只有一个用于桥接view和model的Presenter类,具体情况如下:
Presenter.class

public class Presenter {
//分别将Model和View的实现类传入该函数中
    private Model model;
    private View view;

    public Presenter(View view) {
        this.view = view;
        model = new UserModel();
    }

    public void laod(){
        model.getData(new Model.Qiao() {//重写Qiao函数
            @Override
            public void qiao(List list) {
                view.showView(list);//调用view的showView方法,并将数据传入其中
            }
        });
    }
}

注:该例子是用纯java写的,不是用Android写的

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

移动端MVC-MVP架构简单示例

  • 2016年06月05日 00:37
  • 2.42MB
  • 下载

一个简单登陆示例的MVC和MVP实现

登录示例:MVC 自上篇《iOS基于MVC的项目重构》总结之后,我又思考了下面这个问题:在UIKit自身的设计中UIViewController是被当做C还是V呢? 例如我们点击View上...

Android Mvp 简单示例

android mvp简单示例 博主最近在学mvp,做个简单的博客,锻炼下动手能力。mvp的概念就不介绍了,项目分层model, presenter, view:简单说明下3个层: model层   ...
  • dhyjtt
  • dhyjtt
  • 2016年08月12日 16:07
  • 386

Android MVP模式示例

  • 2016年01月19日 16:19
  • 494KB
  • 下载

MVP示例代码

  • 2016年03月23日 16:41
  • 4.32MB
  • 下载

Android中MVP模式与MVC模式比较(含示例)

MVP介绍MVP模式(Model-View-Presenter)是MVC模式的一个衍生。主要目的是为了解耦,使项目易于维护。 Model 依然是业务逻辑和实体模型 View 经常由Activity实现...

MVP进阶示例

  • 2017年03月01日 15:20
  • 24.89MB
  • 下载

MVP入门示例

  • 2017年03月01日 15:16
  • 18.66MB
  • 下载

Android官方MVP架构示例项目解析[转载]

项目MVP实现方式这节我们就具体来看官方示例到底是如何实现mvp的。这里我们先看下总体的轮廓,关于项目中业务代码我们仅列出了任务详情页(taskDetail)的相关类,其他业务代码类似。 基类我...
  • ligen52
  • ligen52
  • 2017年01月10日 10:13
  • 144

android mvp设计模式示例

  • 2016年12月27日 22:27
  • 15.51MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MVP简单示例
举报原因:
原因补充:

(最多只允许输入30个字)