Android 入门宝典 - MVP 模式

M:Model 层,用于对数据模型操作,IO 操作也在此层
V:View 层,用于交互操作以及数据的显示,传统的 activity 属于此层
P:Presenter 主持层,拥有 M 和 V 层接口,实现 M 和 V 通信的相关逻辑

MVP 架构的实现:
一、定义各层接口要实现的方法
二、定义各层的类实现接口的方法
三、初始化时传递自身接口来形成连接
四、通过传递的接口来调用类的方法,进行传参或实现

示例

定义各接口:

public interface TestContract {

    interface View {
        // 显示数据
        void showData(String str);
    }

    interface Presenter {
        // 通知 model 要获取数据并把 model 返回的数据交给 view 层
        void getData();
    }

    interface Model {
        // 获取数据
        String doData();
    }
}

M 层类:

public class TestModel implements TestContract.Model {
    private static TestModel model;

    public static TestModel getInstance() {
        if (model == null) {
            model = new TestModel();
        }
        return model;
    }

    @Override
    public String doData() {
        return "mvp 架构";
    }
}

P 层类:

public class TestPresenter implements TestContract.Presenter {
    private TestContract.Model model;
    private TestContract.View view;

    public TestPresenter(TestContract.Model model, TestContract.View view) {
        this.model = model;
        this.view = view;
    }

    @Override
    public void getData() {
        view.showData(model.doData());
    }
}

V 层类 & 实现函数:

public class TestView implements TestContract.View {
    public TestContract.Presenter presenter = new TestPresenter(TestModel.getInstance(), this);

    @Override
    public void showData(String str) {
        System.out.println(str);
    }

    public static void main(String[] args) {
        TestView tv = new TestView();

        tv.presenter.getData(); // mvp 架构
    }
}

Android MVP 十分钟入门!
ANDROID MVP 模式 简单易懂的介绍方式
MVP架构开发,一篇让你从看懂到会使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值