美文网首页
Dagger2使用心得

Dagger2使用心得

作者: 浩仔_Boy | 来源:发表于2017-07-14 14:45 被阅读6次

简介

Dagger2目前是有Google公司接手。
它是一个依赖注入框架,可以使类与类之间解耦,较少过分依赖。比如在A类中引用B类的实例,通常方法是在A类中new一个B类,但是这样违背了单一职责原则;当我们想创建实例B的时候传入参数,就要改B类的构造函数,不符合开闭原则。当然这样写也无可厚非,但是不利于快速开发和维护,后期版本迭代必然会产生很多不必要的工作量,烦啊!

官方Github地址

官方主页

项目中结合MVP设计

Module

<pre>
@Module
public class PhotoModule {

private final PhotoActivity mView;
private final String mPhotoId;

public PhotoModule(PhotoActivity view, String photoId) {
    mView = view;
    mPhotoId = photoId;
}

@PerActivity
@Provides
public IBasePresenter providePhotoPresenter() {
    return new PhotoPresenter(mView, mPhotoId);
}

}
//PhotoPresenter是P层用来处理业务逻辑,比如网络请求就放在这里
</pre>

Component

<pre>
@PerActivity
@Component(modules = PhotoModule.class)
public interface PhotoComponent {
void inject(PhotoActivity activity);
}
</pre>

Activity

PhotoActivity中调用
<pre>
@Override
protected void initInjector() {
DaggerPhotoComponent.builder()
.photoModule(new PhotoModule(this, mPhotoId))
.build()
.inject(this);
}
</pre>

相关文章

网友评论

      本文标题:Dagger2使用心得

      本文链接:https://www.haomeiwen.com/subject/pjrihxtx.html