搜索
android MVP 中 P层应该去做哪些事?
高洛峰
高洛峰 2017-04-18 09:15:44
[Android讨论组]

我在实际使用中发现,P层除了请求网络,然后把请求回来的数据解析成JavaBean,然后传递给V层,然后就发现没他什么事了,非常尴尬.
难道写一个P层只是为了用来请求网络吗?
求大神轻喷..
菜鸟想在这里请教一下,MVP中的P层 ,应该去履行哪些职责?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(6)
大家讲道理

P 层是联接 model 和 view 的。
数据加载在model层,P层调用model层的方法
效果显示在view层处理,P层调用model层的方法,拿到数据后再与view层交互,这样的解释不知道是否清楚。

伊谢尔伦

p层主要任务就是处理各种逻辑啊

我觉得mvp缺点之一就是要写很多的接口很多代码。如果一个activity要做的任务足够少(比如只有一个listview 请求一下网络)完全可以把逻辑直接写在activity里,没必要强行mvp

伊谢尔伦

我觉得关于数据方面(包括网络请求及JSON解析)应该放在V层,设置个回调接口将处理好的数据给P层,如果数据需要更新到V层,则由P层推送过去由V层渲染。(新手之言)

PHP中文网

presenter 主要是做逻辑层,你说的数据加载这些被许多人称为Model层,presenter只是对各种各样的逻辑进行控制,如果你可以看一下这个视频和 github 上的 google 开源的 sample

高洛峰

Presenter就是协调View和Model的, 直观的感受就是V-M之间的控制逻辑.

Model改变了通过Presenter回调给View;View改变了通过Presenter回调给Model; 这样Model和View没有紧密耦合, 一定程度提高了封装性和复用价值,这一点比MVC要强...

PHP中文网

Presenter简单来说就是View和Model之间的桥梁,一方面,在View中调用Presenter的方法实现逻辑控制,然后Presenter去调用Model中的方法去执行具体的数据请求工作,然后通过回调,由Presenter传给View,渲染数据。我觉得你需要两个例子去体会下MVP模式,推荐两个:
1、StylishMusic
2、LookLook

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号