MVP

---------------------------------------
Android开发架构------MVP


MVC
  View 视图层
  Controller  控制器
  Model 模型层

  
MVP
  View 视图层
  Presenter  主导器
  Model 模型层

View层

IUserView{
  void showSuccess();
  void showError();
}

Activity implements IUserView{
  doClick(View view){
    R.id.b1:         
      UserPresenter pre = new UserPresenterImpl(this);
      pre.regist(zs,1234);
    break;
  }
  
  showSuccess(){ Toast.(成功) }
  showFail(){ Toast.(失败) }

}



Presenter层

IUserPresenter{
  regist(name, pwd);
}

UserPresenterImpl{
  IUserView view;

  public UserPresenterImpl(IUserView view){
    this.view = view;
  }  

  void regist(name, pwd){
    UserModel model = new UserModelImpl();
    success=model.regist(zs,1234);
    if(success){
      view.showSuccess()
    }else{
      view.showError()
    }
  }
}



模型层

IUserModel{
  boolean regist(name , pwd);
}

UserModel implements IUserModel{
  bolean regist(String name, String pwd){
    执行注册业务
    return true;
  }
}


友录分包结构:
com.tarena.youlu 
  activity  		存放activity
  view   		存放view层接口
  model			存放model层接口
  model.impl		存放view层实现类
  presenter		存放presenter层接口
  presenter.impl  	存放presenter层实现
  fragment		fragment  
  util			工具类
  adapter		适配器



MVP联系人列表业务分析

View层:

IContactView{
  void setContactList(List<Contact> list);
  void showData();  
}

ContactFragment implements IContactView{
  onCreateView(){
    调用presenter的方法,加载所有联系人
    
  }
  void setContactList(List<Contact> list);
  void showData();  
}


presenter层
IContactPresenter{
  void loadAllContacts();
}

ContactPresenterImpl impl xxxx{
  void loadAllContacts(){
    调用model层的方法加载所有联系人
    presenter = new ContactPresenter();
    presenter.loadAllContacts(new Callback(){
       onContactsLoaded(List contact){
          集合查询完毕后执行
          更新view
       }
    });
  }  
}

Model层
IContactModel{
  List<Contact> loadAllContact();
}

ContactModelImpl impl  xxxxx{

  List<Contact> loadAllContact(Callback callback){
    工作线程中查询数据库 
    new AsyncTask(){
      onPostExecute(){
         调用回调方法  让presenter做后续操作
         callback.onContactsLoaded(contacts); 
      }
    } 
  }
}


interface Callback{
  onContactsLoaded(List contact);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值