美文网首页
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