Android MVP 架构

Android MVP 架构

本文github地址

MVP ,即 Model - Presenter - View。

Presenter 交互中间人

Presenter主要作为沟通 View 和 Model 的桥梁,它从 Model 层检索数据后,返回给 View 层,使得 View 和 Model 没有耦合,也将业务逻辑从View角色上抽离出来。

View 用户界面

View通常是指 Activity、Fragment 或者某个 View 控件,它含有一个 Presenter 成员变量。通常 View 需要实现一个逻辑接口,将 View 上的操作会转交给 Presenter 进行实现,最后, Presenter 调用 View 的逻辑接口将结果返回给 View 元素。

Model 数据的获取

对于一个结构化的 App 来说, Model 角色主要是提供数据的存取功能。 Presenter 需要通过 Model 层存储,获取数据, Model 就像一个数据仓库。更直白地说, Model 是封装了数据库 DAO 或者网络获取数据的角色,或者两种数据获取方式的集合。

MVP模式

在MVP里,如图,Presenter 完全将 Model 和 View 进行了分离,主要的程序逻辑在 Presenter 里实现。而且, Presenter 与具体的 View 是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更 View 时可以保持 Presenter 的不变,这点符合面向接口编程的特点。 View 只应该有简单的 get/set 方法,以及用户输入和 UI 更新的内容,除此之外就不应该有更多的内容。决不允许 View 直接访问 Model,这就是其与 MVC 的很大的不同之处。

代码练习

1. UserActivity

参考

谷歌官方MVP Demo:todoapp

Android MVP 详解

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值