1. 【浅入深出理解 dagger、Hilt】 - 简介

什么是依赖注入

我们不通过 new 的方式在类内部创建依赖类的对象,而是将依赖的类对象在外部创建好之后,通过构造函数、函数参数等方式传递(或注入)给类来使用。

dagger、Hilt是什么?

dagger、Hilt都是Google提供的用于依赖注入的库,Dagger因为稍微难用,所以Google专门为我们提供了一个使用更简单的依赖注入库Hilt

这些库能给我带来什么好处?

我们就直接开门见山了,常用场景就是MainActivity下需要new一个MainModel,然后MainModel构造函数要传递一个MainParameter类,代码如下:

public class MainEntity {
    public MainEntity() {
    }

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
public class MainActivity extends AppCompatActivity {

    private MainEntity mainEntity;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mainEntity = new MainEntity();
        mainEntity.setName("名称");

        ((TextView) findViewById(R.id.tvName)).setText(mainEntity.getName());
    }
}

如果使用依赖注入会有什么好处?

    1. 在大项目里面,一个对象类会应用在很多模块类里面使用,假如对象类的某个构造函数修改,那么涉及到的模块类都要修改。使用依赖注入并不是完全解耦对象类和模块类,依赖注入里面有个工厂模式Module,当涉及到修改的时候,同样需要修改Module。达成的目的,是为了把影响降到最低
    1. 方便单元测试,若需要替换为网络测试类,只需要修改相应的Module就可以了

下一篇文章,让我们介绍dagger
在后续,会在仿企业项目中加入依赖注入,单元测试,让大家更好了解依赖注入带来的好处。欢迎star关注!

只是简单介绍依赖注入使用方式的实例源码如下:
zhongjhATC/HiltAndDaggerDemo: 演示 Hilt、Dagger 的demo (github.com)

其他相关文章
1. 【浅入深出理解 dagger、Hilt】 - 简介 - (jianshu.com)
2. 【浅入深出理解 dagger、Hilt】 - dagger无参依赖注入 - (jianshu.com)
3. 【浅入深出理解 dagger、Hilt】 - dagger有参依赖注入 - (jianshu.com)
4. 【浅入深出理解 dagger、Hilt】 - Hilt - (jianshu.com)

你可能感兴趣的:(1. 【浅入深出理解 dagger、Hilt】 - 简介)