原文地址: http://www.jianshu.com/p/91c2bb8e6369
我们为什么要把Dagger2,MVP以及Rxjava引入项目中?
其实我们大多数项目中是使用不到他们的,或者说对这些技术的需求不是很大,为什么这么说呢?
那为什么这些技术会这么火呢?
这些技术出现是为了解决什么?
MVP的文章很多,我这里就不做过多介绍,我个人的理解就是解耦和扩展以及团队协作,大多数文章都只是介绍了怎么写MVP接口,我们不懂为什么用他们,就算会写也只是在做复制粘贴
Dagger的门槛个人认为在这三个中是最高的,相关的文章也很多,但是都很多只是告诉你该怎么写这些类,注解该怎么用,很多都没讲为什么不直接new,为什么要把如此简单的事情弄这么复杂?其实这还是和项目的大小有关,因为它解决的问题就是大项目的需求
Car car = new Car(new People(new Key()));
A a = new A();
B b = new B(a);
C c = new C(a,b);
D d = new D(c);
E e = new E(a,b,d);
提到Rxjava最多人都是用来处理,线程调度,回调地狱,加上
Retrofit
又支持Rxjava,所以大部分开发者都只会在请求网络和需要切换线程的时候用到Rxjava,其实它有一个最重要的特性,它可以让数据的流向更加直观,代码更清晰
Hello 我叫Jessyan,如果您喜欢我的文章,可以在以下平台关注我?