美文网首页
Android 中的依赖项注入

Android 中的依赖项注入

作者: 加油小李 | 来源:发表于2022-08-28 07:55 被阅读0次

    依赖项注入 (DI) 是一种广泛用于编程的技术,非常适用于 Android 开发。遵循 DI 的原则可以为良好的应用架构奠定基础。

    实现依赖项注入可为您带来以下优势:

    重用代码
    易于重构
    易于测试

    什么是依赖项注入?
    类通常需要引用其他类。例如,Car 类可能需要引用 Engine 类。这些必需类称为依赖项,在此示例中,Car 类依赖于拥有 Engine 类的一个实例才能运行。

    类可通过以下三种方式获取所需的对象:

    1.类构造其所需的依赖项。在以上示例中,Car 将创建并初始化自己的 Engine 实例。
    2.从其他地方抓取。某些 Android API(如 Context getter 和 getSystemService())的工作原理便是如此。
    3.以参数形式提供。应用可以在构造类时提供这些依赖项,或者将这些依赖项传入需要各个依赖项的函数。在以上示例中,Car 构造函数将接收 Engine 作为参数。

    第三种方式就是依赖项注入!使用这种方法,您可以获取并提供类的依赖项,而不必让类实例自行获取。

    Hilt 是推荐用于在 Android 中实现依赖项注入的 Jetpack 库。Hilt 通过为项目中的每个 Android 类提供容器并自动为您管理其生命周期,定义了一种在应用中执行 DI 的标准方法。
    Hilt在热门DI库Dagger 的基础上构建而成,因而能够受益于 Dagger 提供的编译时正确性、运行时性能、可伸缩性和 Android Studio 支持。

    依赖项注入会为您的应用提供以下优势:
    重用类以及分离依赖项:更容易换掉依赖项的实现。由于控制反转,代码重用得以改进,并且类不再控制其依赖项的创建方式,而是支持任何配置。

    易于重构:依赖项成为 API Surface 的可验证部分,因此可以在创建对象时或编译时进行检查,而不是作为实现详情隐藏。

    易于测试:类不管理其依赖项,因此在测试时,您可以传入不同的实现以测试所有不同用例。

    相关文章

      网友评论

          本文标题:Android 中的依赖项注入

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