MVP是什么欣晨的意思和含义 解读MVP的含义和应用场景?

MVP -- 基础知识 - 简书一、概念
MVP分为三个部分:Model(数据)、View(界面)、Presenter(交互中间人)MVP是MVC的变种,强调Model层和View层的最大化解耦。
二、模型图
MVPModel(数据):负责数据的来源和封装,比如网络请求、数据库操作等。如果有必要则提供接口暴露自己处理数据的状态和进度。Model层提供接口,实现功能,供Presenter层调用。View(界面):负责界面相关操作,比如布局界面的初始化、各种listener的设置、更新界面等。View层包括布局文件、Activity和Fragment等。View层一般会持有Presenter层的引用,可以通过构造方法注入或者普通方法注入的方式获得Presenter层的实例,并将非界面的业务逻辑交给Presenter层处理。View层提供接口,实现功能,供Presenter层调用。Presenter(交互中间人):处理非界面的业务逻辑,让Activity和Fragment只负责处理界面,符合单一职责原则。Presenter层提供接口,实现功能,供View层调用。
三、工作流程
View层向Presenter层发出数据加载请求,Presenter层调用Model层的接口请求数据,当Model层处理完毕会直接返回结果给Presenter层,Presenter层调用View层的接口实现界面的刷新。
四、问题
由于我们使用了接口的方式去连接View层和Presenter层,这样就导致一个问题,如果有一个逻辑很复杂的界面,即有很多个View,每个View对应一个Presenter,这样的话接口就会有很多,维护接口的成本就会非常大。
五、使用场景
对于简单应用,使用MVP比较麻烦,因为要定义的接口较多。但是对于复杂应用,MVP是一种良好的架构模式,它能够使应用层次分明。
推荐阅读更多精彩内容Android - 收藏集
Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...passiontim阅读 168,600评论 25赞 707理财学习什么是理财?
就是将自己有限的资源最优化的配置。对于月负族,基本没有储蓄,对于以后想要舒服老去,如何花销每一...杨小舒的春天阅读 178评论 0赞 0百度网页搜索原文链接: 百度面经-网页搜索部 这次网页搜索部就来了三个人,一个领头的是北大的高级项目经理。其他两个是高级工程师...元素周期表的十七君阅读 396评论 0赞 0}

我要回帖

更多关于 欣晨的意思和含义 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信