首页 > 学院 > 开发设计 > 正文

浅谈mvp模式

2019-11-07 22:45:52
字体:
来源:转载
供稿:网友

1、什么是mvp?

就是PResenter将view和model解耦

M—>model(与数据相关的,例如:数据库、文件、网络、数据解析等等.....)

 

V—>view   (视图等等)

 

P—>Presenter (通过p层将View层和Model进行调度) 业务逻辑层

2.mvp的交互流程

3、简单代码展示

model层代码

/** * model(数据、网络请求接口)都放在此层中 * Created by Administrator  */public class Model {    public void login(String name, String pwd, OnOkListener onOkListener){        /*          请求网络后进行接口 or 数据回调         */        onOkListener.okresult();    }}
/** * Model层回调接口 * Created by Administrator  */public interface OnOkListener {    void okresult();}p层代码

** * p层 逻辑业务层 * Created by Administrator  */public class Presenter{    //定义个接口将逻辑层业务结果进行回调    private MainView mainView;    private Model model;    public Presenter(MainView mainView){        this.mainView=mainView;        this.model=new Model();    }    //暴露公共方法进行调用 (在activity中)    public void login(String name, String pwd){        this.model.login(name, pwd, new OnOkListener() {            @Override            public void okresult() {                mainView.loginsuccess();            }        });    }}
** * p层回调接口 * Created by Administrator   */public interface MainView {    void loginsuccess();}
activity简单调用代码
public class MainActivity extends AppCompatActivity implements MainView{    private Presenter presenter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        this.presenter=new Presenter(this);        presenter.login("zhangs","18");    }    //p层回调结果    @Override    public void loginsuccess() {    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表