MVP架构简单搭建

MVP架构学习笔记

一个项目的核心就是架构。

1、什么是MVP架构?

MVP是一种项目架构设计模式(说白了就是我们产品的一种设计方案)
其实MVP本质 就是将View和Model完全隔离,通过Presenter统一调度管理(Presenter扮演着中介的角色)传统的设计思路是我们直接跟房东谈,效率不高,累。
例如:找房子(租房子)
房东(Model) ——中介(Presenter)—— 自己(View)
MVP架构简单搭建_第1张图片

例如:我们的UI要从网络中获取数据,那么首先你得通过Presenter中介,然后中介通知Model获取网络数据,然后Model获取网络数据,返回给Presenter,Presenter通知View,更新UI界面

具体访问流程:
MVP架构简单搭建_第2张图片

2、MVP的含义?

MVP中的M是Model,说白了就是我们的数据(包括数据库,文件,服务器等等。。。)

MVP中的V是VIew,说白了就是我们的UI界面(Activity,Fragment,视图)

MVP中的P是Presenter,说白了就是我们的调度者(中介)

3、MVP和MVC的区别?

MVP架构简单搭建_第3张图片
三、MVP架构搭建流程
搭建MVP架构
第一步:定义MVP架构包
1、在mvp包下我们划分为三个模块 model、presenter、view
在这里插入图片描述
2、接下来在presenter包下建一个接口MvpPresenter

package com.l.mvpjpro.mvp.presenter;

public interface MvpPresenter {

    //绑定数据
    void attachView();
    //解除绑定
    void detachView();
}

在model包下建接口MvpModel

public interface MVPModel {
//加载数据
    void loadGoodData(OnLoadListtener onLoadListtener);
    interface OnLoadListtener{
        //内部接口
        void onComplete(List<Goods> goods);
    }
}

在view包下建接口MvpView

public interface MVPView {
    //显示
    void showDataView();
    void showEorr();

}

MVP架构简单搭建_第4张图片

创建一个BaseActivity来初始化并绑定VIew`

public abstract class BaseActivity<T extends BasePresenter,V extends BaseView> extends AppCompatActivity {
    //初始化
    //使用presenter来绑定View
    private T presenter;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        presenter = ceatepresenter();
        presenter.attachView((V)this);
    }

    protected abstract T ceatepresenter();
}

`

你可能感兴趣的:(mvp,android)