java - MVP模式中Presenter是只负责调度,业务逻辑都放在Model里处理吗?
天蓬老师
天蓬老师 2017-04-17 17:24:55
[Java讨论组]

MVP模式中Presenter是只负责调度,业务逻辑都放在Model里处理吗?

还是Model只负责提供数据,Presenter参与业务逻辑处理?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(7)
高洛峰

V:UI的展示,UI的界面的更新,入户输入的获取
M:本地数据的读取,存储,网络,数据库,等等的操作
P:英文是 Presenter :主持人,业务逻辑放这里,调度 V 和 M ,去实现业务逻辑。

阿神

MVP模式更适合于展示型的模块,就是不需要太多处理用户请求的业务逻辑,而主要是单纯的将数据输出到用户端。也就是说,MVP模式中业务逻辑是较少的,如果有,就放在Presenter中,Presenter主要就是根据需要组合Model中数据的。

高洛峰

MVP:
M:定义数据的格式,还有媒体库数据的加载,异步任务等。即数据模型&数据加载。
V:只有界面接口,没有业务逻辑。
P:业务逻辑,负责调用数据加载,然后再通过界面接口,将数据模型组合传递给V去展示。

天蓬老师

一个model接口定义model能做什么,给presenter调用;一个modelImpl实现,主要负责数据的写改删查。
一个view接口定义view要有什么交互,例如加载时显示等待读条,加载完隐藏,给presenter调用;一个viewImpl实现。

一个presenter接口定义presenter负责的逻辑,给view调用;
一个presenterImpl实现,调用view接口和model接口,统筹界面交互与数据存取,例如loadData()调用view接口的showLoadingProgress(), model接口的getData(),view接口的listViewShowData(),hideLoadingProgress()这样的。

按我的理解就是一个view对应一个presenter对应多个model;

view只写展示什么,怎么展示;model只写怎么存取数据;
presenter大总管,调用model,view,实现逻辑还有交互,之后给view调用

新手菜鸟欢迎指正。

PHP中文网

MVP由MVC演变而来,业务逻辑处理,MVC放在Contorller,MVP放在Presenter。

天蓬老师

所谓的MVP模式就是model view presenter
model 处理业务逻辑 所以自然包括数据处理
view ui处理
presenter 控制model与view的联系

阿神

如楼上几位说的P是大总管,哈哈。

riotjs 1.x版本就是MVP模式的。很小一点点,就三个函数。之前用过。

现在在用riotjs2. x版本,完全不一样的设计理念,类似react的UI组件的模式。挺好用的。关键还是很小。我拿它写一个电商项目的Web版本,所有页面编译之后加上自己的库,js只有70k+

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

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