腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
公众号:咻咻ing
专栏成员
举报
54
文章
197448
阅读量
15
订阅数
订阅专栏
申请加入专栏
全部文章(54)
编程算法(15)
http(10)
java(8)
数据库(7)
sql(7)
git(7)
api(7)
github(6)
网站(5)
网络安全(5)
数据结构(5)
https(5)
vue.js(4)
开源(4)
php(3)
javascript(3)
go(3)
webview(3)
apache(3)
腾讯云测试服务(3)
存储(3)
缓存(3)
微信(3)
bash(2)
xml(2)
html(2)
android(2)
自动化(2)
hashmap(2)
npm(2)
uml(2)
hexo(2)
接口测试(2)
云服务器(1)
node.js(1)
css(1)
typescript(1)
listview(1)
嵌入式(1)
云数据库 SQL Server(1)
nosql(1)
mvc(1)
打包(1)
ide(1)
nginx(1)
bash 指令(1)
文件存储(1)
命令行工具(1)
云数据库 MongoDB(1)
SSL 证书(1)
mongodb(1)
人工智能(1)
渲染(1)
移动开发(1)
容器(1)
分布式(1)
黑客(1)
shell(1)
html5(1)
hadoop(1)
jvm(1)
ssh(1)
迁移(1)
Elasticsearch Service(1)
animation(1)
button(1)
dynamic(1)
gif(1)
int(1)
merge(1)
string(1)
ui(1)
动画(1)
搜索文章
搜索
搜索
关闭
浅谈Andorid开发中的MVP模式
mvc
背景 看到MVP,大家肯定会想什么是MVP呢?这个我可以肯定的告诉大家MVP(Most Valuable Player)是最有价值球员的意思,这当然是开玩笑了。之所以会出现MVP这种架构模式,是因为我相信大家在开发App时,肯定会发现,Activity的负担非常重,既要初始化控件,又要写一些逻辑操作的展示等等,有时候很多Activity中的代码都充当了Controller和Model的角色,所以你会发现Activity违背单一职责原则,负担过重。所以,就出现了这么一种架构模式,叫MVP,并不是最有价值球员哦。 什么是MVP架构 MVP就是Model-View-Presenter,MVP是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。 在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。 在MVC模型里,更关注的Model的不变,而同时有多个对Model的不同显示,及View。所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。 用流程图的方式解释就更清楚了:
公号:咻咻ing
2019-08-06
532
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档