hegaojian / JetpackMvvm

:chicken::basketball:一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
https://github.com/hegaojian/JetpackMvvm
Apache License 2.0
3.15k stars 614 forks source link

请教个问题,为何要将ViewModel分为 StateViewModel 和 RequestViewModel ??? #22

Closed 8debug closed 4 years ago

8debug commented 4 years ago

请问这么分有什么好处吗? 之前提交的Issues都删掉了???

hegaojian commented 4 years ago

分了2种ViewModel,一种state的专门是负责与界面绑定数据的ViewModel,还有一个就是request的专门负责处理数据来源(本地,网络),这样的话分工明确点,单一职责,可以减少ViewModel的臃肿

之前提交的Issues没删掉,只是状态关闭掉了,你可以在Closed里面看

8debug commented 4 years ago

针对这个项目来说,个人觉得一个viewModel完全够用了,管理状态在viewModel中定义专门的LiveData就好啦。所以我目前还没体会到这个拆分方式的玄妙之处

hegaojian commented 4 years ago

一个viewModel是够用了,看个人的理解和喜好吧,一味的照着他人的风格去实现我是不建议的,根据自己的理解去最舒服的实现最好,demo只是我个人的暂时写法,说不定以后有更方便的或者觉得不好的地方就会修改