android 学习mvc 和 mvp 和 mvvm参考项目

githup地址:https://github.com/ivacf/archi

阿尔奇

此存储库展示并比较可用于构建Android应用程序的不同架构模式。完全相同的示例应用程序使用以下方法构建三次:

  • 标准的Android:布局,活动/片段和模型的传统方法。
  • MVP:模型视图演示者。
  • MVVM:模型视图ViewModel与数据绑定。

应用程序

示例应用程序显示给定用户名的GitHub公共存储库列表。点击其中一个将打开一个存储库详细信息屏幕,在那里可以找到有关回购的更多信息。该屏幕还显示有关存储库所有者的信息。

截图

使用的库

  • AppCompat, CardView and RecyclerView
  • Data Binding (only MVVM)
  • RxJava & RxAndroid
  • Retrofit 2
  • Picasso
  • Mockito
  • Robolectric

标准的Android

/appdirectoy包含遵循传统的标准Android的办法实施。这是一对布局文件,两个活动和模型。该模型是完全的三种实现相同的,它包含:RepositoryUser和改装服务(GithubService)。

采用这种方法,活动负责调用GithubService,处理数据和更新视图。他们的行为就像MVC中的一个控制器,但有一些额外的责任应该成为观点的一部分。这个标准体系结构的问题是活动和片段可能变得相当大,很难测试。因此,为什么我没有为这个案例写任何单元测试。

MVP - 模型视图演示者

/app-mvp这里你会发现这个示例应用程序遵循这个模式。当使用mvp时,Activities和Fragments成为视图层的一部分,他们将大部分工作委托给演示者。每个活动都有一个匹配的主持人,通过主持人访问模型GithubService。当数据准备好显示时,他们也通知活动。单元测试演示者变得非常容易通过嘲笑视图层(活动)。

MVVM - 模型视图ViewModel

由于数据绑定库的发布,这种模式最近开始流行起来。你会发现在执行/app-mvvm。在这种情况下,ViewModel通过数据绑定从视图请求时从模型中检索数据。有了这个模式,Activities和Fragments变得非常轻便。此外,由于ViewModel从视图中分离,所以写单元测试变得更容易。

 

阅读代码需要参考的资料:

      Android Studio 中 Gradle 依赖的统一管理

 

转载于:https://www.cnblogs.com/woaixingxing/p/8086501.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值