跟大家分享一个MVP架构的项目例子,至于MVP概念什么的就不多讲了,这里讲如何使用一个MVP项目
1. 下图是项目的一些主要角色,通过一个test测试模块展示
2. TestActivity是view视图层,TestPresenter是presenter逻辑层,两者之间需要一个东西来联系,就是 TestContract这个协议接口,它存在两个子接口分别是view接口和presenter接口让view层和presenter来实现,并且view接口需要presenter层传实例的方法,方便两者之间的联系。
3. Presenter层处理逻辑,通过TestContract.View接口将实例传给view层。
4. view层通过TestPresenter构造函数将实例传给Presenter层,到此view层与Presenter层已建立双向联系。
5. 接下来是model数据层,TestRemoteDataSource、TestDataSource、TestRepository。网络数据是通过OKGo网络框架+Rxjava获取。然后model数据层跟Presenter层交互,这里通过TestUsercaseImpl来做中间人,Presenter层构造函数实例化TestUsercaseImpl,TestUsercaseImpl再跟model数据层拿数据。
6. 其他就不做介绍了,项目demo地址:https://gitee.com/musiccrazy/MVP.git 可以下载运行。
网友评论