一个 MVVM 设计模式的新闻客户端 Demo 程序
使用 Kotlin 编写
本意是想了解和学习 MVVM 设计模式
使用的类库如下:Gson
, Glide
, Okhttp
, RxJava
, Retrofit
使用 Jetpack 组件,Fragment 之间切换使用 Navigation
网络数据大约 10分钟更新一次
支持上拉加载以及 下拉 刷新(暂时没有加载和刷新动画或提示,未使用 RecyclerView 类库,需要自行实现)
页面展示:
other
贴一篇关于 MVVM 设计模式的链接
7.3 MVVM 架构模式的优缺点
优点:
结构清晰,职责划分清晰
模块间充分解耦
在 MVP 的基础上,MVVM 把 View 和 ViewModel 也进行了解耦
缺点:
Debug 困难,由于 View 和 ViewModel 解耦,导致 Debug 时难以一眼看出 View 的事件传递
代码复杂性增大
从 Demo 中,可以明确感受到 代码复杂性大过普通开发