MVP设计模式&LoginDemo

文章目录

  • 简介
    • MVP结构图
    • 项目结构
  • LoginDemo
    • 效果
    • 代码
      • 单例模式

简介

  • M(Model)
    数据层,和MVC中的M一样,用来放数据的处理(比如网络请求,缓存等)。

  • V(View)
    负责UI具体实现展现。比如Presenter派发过来一个动作是showDialog显示进度命令,那么我们这个View就负责实现具体UI。

  • P(Presenter)
    负责处理业务逻辑代码,处理Model数据,然后将处理完的数据分发到View层。

MVP结构图

比较复杂,大概是这样的结构
MVP设计模式&LoginDemo_第1张图片
流程为:

  • View接收用户交互请求
  • View将请求提交给Presenter层
  • Presenter层操作Model进行数据更新
  • Model层通知Presenter层数据发生变化
  • Presenter层操作View层界面更新

项目结构

MVP设计模式&LoginDemo_第2张图片

LoginDemo

效果

  • 实现写入数据点击保存后,可以读出已经保存在Bean内的数据,显示在下方
    MVP设计模式&LoginDemo_第3张图片

代码

  • UserBean.java
  • 新建一个实例,写我们需要的数据
public class UserBean {
   
    private String mName;
    private String mGender;

/*     //这段语句和setmName() + setmGender() 效果一样
    public UserBean(String name, String gender) {
        this.mName = name;
        this.mGender = gender;
    }*/

    public String getmName() {
   
        return mName;
    }

    public void setmName(String mName) {
   
        this.mName = mName;
    }

    public String getmGender() {
   
        return mGender;
    }

    public void setmGender(String mGender) {
   
        this.mGender = mGender;
    }
}

  • IUserModel.java
  • //在Presenter中要实现哪些逻辑,要用到哪些方法,然后就在这里定义哪些方法
public interface IUserModel {
   
    void saveInfo(UserBean userBean);
    UserBean loadInfo();    //读取user信息,返回一个UserBean
}
  • UserModel.java
  • //UserModel主要是IUser的实现,返回一些数据,具体返回那些数

你可能感兴趣的:(Android)