jaydenxiao2016 / AndroidFire

AndroidFire,一款新闻阅读 App框架,基于 Material Design + MVP + RxJava + Retrofit + Glide,基本涵盖了当前 Android 端开发最常用的主流框架,基于此框架可以快速开发一个app。
https://github.com/jaydenxiao2016/AndroidFire.git
2.63k stars 812 forks source link

为什么你的BaseFragment里面有对Model的引用? #4

Open leguang opened 7 years ago

leguang commented 7 years ago

为什么你的BaseFragment里面有对Model的引用? mPresenter = TUtil.getT(this, 0); mModel= TUtil.getT(this,1);

我看到你的代码里在BaseFragment里通过反射创建了Model的实例,请问MVP模式当中,View层不是不应该持有Model的实力对象吗?

wjploop commented 7 years ago

UTill.getT(thii,1); 这个方法报错怎么解决? 查了了这个问题,,基础不好看不懂,希望指点下,在此谢过了. 0-10 19:35:50.254 12596-12596/loop.com.testforcommon W/System.err: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType 10-10 19:35:50.254 12596-12596/loop.com.testforcommon W/System.err: at com.jaydenxiao.common.commonutils.TUtil.getT(TUtil.java:12) 10-10 19:35:50.254 12596-12596/loop.com.testforcommon W/System.err: at com.jaydenxiao.common.base.BaseActivity.onCreate(BaseActivity.java:75) 10-10 19:35:50.254 12596-12596/loop.com.testforcommon W/System.err: at android.app.Activity.performCreate(Activity.java:6367)

385841539 commented 7 years ago

要是能出个视频教程绝对6 的不行 ,

Greathfs commented 7 years ago

这套框架 的确V里面持有M的引用,感觉偏离MVP思想了,有点像MVC,BaseActivity和BaseFragment都是 层主可以去参考下T-MVP现有的解决办法,那套框架和这个基本上是一致的

yuzhongrong commented 7 years ago

view里面是不能持有m的引用的 ,m引用应该在p层持有的具体请参考腾讯的bugly 框架设计