MVP介绍

MVP全称Model-View-Presenter

结构图如下:

MVP结构图

MVP模式的三个角色
1.Presenter—-交互中间人
Presenter主要作为沟通View和Model的桥梁,它从Model层检索数据后,返回给View层,使得View和Model之间没有耦合,也将业务逻辑从View角色上抽离出来

2.View—-用户界面
View通常是指Activity,Fragment或者某个View控件,它含有一个Presenter成员变量。通常View需要实现一个逻辑接口,将View上的操作转交给Presenter实现,最后Presenter调用View逻辑接口将结构返回给View元素。

3.Model—-数据的存储
Model角色主要是提供数据的存取功能。Presenter需要通过Model层存储。获取数据,Model就想一个数据仓库。更直白的说,Model是封装数据库DAO或者网络获取数据的角色,或者两种数据获取方式的集合

MVP能够有效地降低View复杂性,避免业务逻辑被塞进View中。MVP模式会解除View与Model的耦合,同时又带来了良好的可扩展性、可测试性,保证了系统的整洁性。灵活性。
MVP模式可以分离显示层和逻辑层,它们之间通过接口进行通信,降低耦合。理想化的MVP模式可以实现同一份逻辑代码搭配不同的界面显示,他们它们之间不依赖具体,而是依赖抽象

与MVC的区别

MVC特点
1.用户可以向View发送指令,再由View直接要求Model改变状态
2.用户也可以直接向Controller发送指令,再由Controller发送给View
3.Controller起到事件路由的作用,同时业务逻辑都部署在Contriller中

可以看到,MVC的耦合性还是相对较高,View可以直接访问Model,导致三者之间构成回路。因此,MVP与MVC的主要区别是,MVP中的View不能直接访问Model,需要通过Presenter发出请求,View与Model不直接通信

mvp
mvc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值