Google在2016年推出了官方的Android MVP架构Demo,本文主要分析一下官方的MVP Demo,并且借由自己的一些经验,提出一些学习过程中,遇到的问题和自己的改进、封装措施。
1.什么是MVP?
MVP架构已经推出很多年了,现在已经非常普及了,我在这里就不过多介绍,简单的说,它分为以下三个层次:
- Model:数据模型层,主要用来数据处理,获取数据;
- View:显示界面元素,和用户进行界面交互;
- Presenter: 是Model和View沟通的桥梁,不关心具体的View显示和Model的数据处理。View层中所有的逻辑操作都通过Presenter去通知Model层去完成,Model中获取的数据通过Presenter层去通知View层显示。
MVP架构最大的好处,就是把传统MVC架构中View层和Control层的复杂关系完全解耦,View层只关心界面显示相关的工作即可,Model层仅获取数据,处理逻辑运算即可,各司其职,而不用关心其他工作。而且大家发现没有,这样设计的话,很好写单元测试代码,针对于View、Presenter、Model层我们可以分别选用适合的单元测试框架,不用再像MVC/MVVM一样,由于代码混在或者分离在多处,到处无法“单一职责”的去完成每个类的单元测试代码编写。
在刚刚接触android的时候,或者说,现在依然有很大一部分的APP开发者,在开发过程中,总是习惯在一个Activity、Fragment中几乎完成了所有的功能。例如网络请求、数据加
本文详细分析了Google的官方MVP Demo,探讨了MVP架构的优势,如业务、数据、视图分离,便于单元测试。同时,指出了官方Demo中存在的问题,如setPresenter接口的冗余,Presenter获取View引用的方式,以及可能引发的内存泄漏。作者提出了自己的优化方案,通过抽象和利用Activity生命周期来改进MVP框架,实现了更简洁、高效的结构。
订阅专栏 解锁全文
3042

被折叠的 条评论
为什么被折叠?



