这个架构已经有不少文章介绍了,今天打算自己实践下。
MVP概念不多说了 相关介绍已经很多了
Dagger2:依赖注入框架,用来解决依赖 除了基本依赖 mvp的V–>P–>M的之间依赖也轻松解决 方便不少
Retrofit:用来解决M的RestApi数据获取, 天然支持Rxjava 不过这里我没用到Rxjava 其自带的Callback已经足够用了
估计这个架构的难点在于Dagger2 理解它的工作方式需要方式需要点时间,我收集了一些资料,可以查看我博客的相关文章。
ok,开始写demo,简单看下项目结构
- data:数据来源 也就是MVP的M
- model:实体bean,本来也应该放在data中,为了方便查找就抽出了,毕竟很多地方用到
- ui:视图,V和P都在里面,View层是最难组织的,有人喜欢以功能划分 eg:main,login 有人喜欢以组件划分
来简单看一下dagger2提供的依赖结构
AppComponent通常提供全局的对象以便于其他的组件依赖使用,比如context,rest api接口等,这些都是全局的单例对象
MainActivityComponent特意针对MainActivity,所以它只提