Android中MVP模式、MVC模式

Android中MVP模式、MVC模式

模式简介

MVC

Model-View-Controller简称,将数据模型(数据的定义及相关操作)、界面显示(接受用户的操作)与业务逻辑(接受界面操作并控制操作数据)分离的方式组织代码;

MVP

Model-View-Presenter简称,将MVC中的C层采用P层来换, 该模式下,M层和V层不再像MVC中的那样,他们不发生联系,沟通都是通过P层来实现的。

通信方式

MVC
  • View层接受到用户交互请求;
  • View层将请求传递给Controller层;
  • Controller层操作Model层进行数据更新;
  • 更新之后,Model层通知View层做相应的变化
  • View层更新界面
MVP
  • View接受用户的请求(如用户输入用户名密码进行登录)
  • View将请求发送至对应的Presenter(如UserPresenter)
  • Presenter通多Model获取数据的变化信息(如通过网络查询或本地数据库查询)
  • Model通知Presenter数据发生了改变(如登录成功,登录失败等)
  • Presenter将数据的改变反应在View上(对不同的改变,通知View层作不同的处理)

进化历史

MVC->MVP,这种改变的原因主要就是MVC中,Model不依赖于View,但View依赖于Model,V层可以直接访问M层,不可避免的V层就会包含数据逻辑处理,这样当V层在某个需求变化下需要更改时,就会变的麻烦(需要考虑View 层之前包含的那部分逻辑),于是MVP就产生了,他阻断了Model和View之间的直接通信,二者要联系起来必须都依赖于Presenter,即MP间可上相交互,PV间也可双向交互。

发现美团的一篇讲解MVVM模式的文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值