了解匕首依赖注入!
依赖注入是构建可维护和可测试的软件系统的重要技术。你可能已经做了依赖注射,也许甚至没有意识到它。依赖注入无处可行,因为它的名字意味着,这本书将指导您通过您需要了解的一切!
本书将指导您通过匕首,谷歌的Java,Kotlin和Android框架。匕首将帮助您解决许多具有困扰基于反射的解决方案的开发和性能问题。
本书适用于中级Kotlin或Android开发人员,他们希望了解如何使用匕首和刀柄库实现依赖注入模式。
本书在早期访问版本中。本书的章节列表可能会有所变化。估计最终版本:冬季2021
在你开始之前
本节告诉您您在开始之前需要了解一些需要了解的事情,例如您需要的硬件和软件,在哪里找到本书的项目文件等等。
你需要什么
自由
II
介绍
自由早期访问版
自由第一部分:迪基本面
在本节中,了解为什么您应该通过学习探测器等匕首使用依赖注入(di)库来学习您需要解决的问题:依赖性。
您将理解依赖关系以及为什么要控制它们以创建成功的应用程序。您将了解Busso应用程序,您将在整本书中工作,并改进。您将参加下一步迈向实现更易于测试和修改的更好的应用程序。
在本章中,您将了解范围和依赖性如何相互关联。您将首先重构SplashActivity如何使用导航器。 接下来,您将定义多个ServiceLocator实现,帮助您了解它们如何相互依赖。
4在本章中,您将使用架构模式 - 模型查看演示者 - 沿着 与您在前一章中学到的内容创建一个完全可测试的应用程序。 您将使用在没有像匕首或剑柄的情况下在没有框架的世界中使用的技巧。
5第二节:展示匕首
在本节中,您将了解匕首是什么,它是如何工作的,以及它如何在应用程序中实施依赖项注入时,您需要用手写入的代码量。
您将学习如何处理匕首处理构造函数,字段和方法注入,如何在您具有抽象及其实现时使用@binds简化@module的实现,以及如何使用@singleton来解决一个非常常见的问题。
第三节:组件& Scope Management
在本节中,您将从自制框架中迁移BUSSO应用程序到匕首。在此过程中,您将了解如何将现有的服务器和注射器迁移到等效的匕首@Modules和@Components,如何为使用@ Component.Builder为@Component带有自定义构建器提供现有对象,以及如何使用@ Component.Factory作为@ Component.Builder的有效替代方案。
第一个迁移不会是最佳 - 您将有一些基本方面的改进。
在本章中,您将返回在Busso应用程序上工作。您将了解如何将现有的服务器和注射器迁移到等效的Dagger @Modules和@Components,如何为使用@ Component.Builder为@Component的自定义构建器提供现有对象,以及如何使用@ Component.Factory @ component.Builder的有效替代方案。
10在本章中,您将了解您还会了解组件的定义以及它与容器相关的定义。你会看到一个生命周期是什么,为什么它很重要,它与范围的关系是什么。您还将了解有关@singletons的更多信息,以及@scope是什么,以及它如何改善您的应用程序的执行
11在本章中,您将学习更多关于@components和依赖项的更多信息。特别是,您将了解为什么@singleton与其他@scopes没有如此不同,为什么您可能需要不同的方法来管理组件依赖项,以及更多。
12第四节:高级匕首
在本节中,您将深入了解匕首的高级功能,如多绑定。 MultibInding是匕首的一个非常有趣的功能,因为它使用您在本节中学到的插件模式简化了新功能的集成。
您将实现一个简单的框架,允许您以非常简单和声明的方式在BUSSO应用程序中集成新服务。您将了解所有与集合和地图的多绑定所需的所有内容。
在本章中,您将学习如何使用与地图的多绑定。您将了解如何使用映射配置多绑定,以及如何使用带有@StringKey,@classkey,@intkey和@longkey的基本类型键。您还将创建一个简单的自定义密钥,并使用@keymap构建复杂的自定义密钥。
14第五节:介绍剑柄
在最后一节中,您将了解您需要了解的所有内容。 HILT是Android的依赖注入库,可减少项目中进行手动依赖注入的样板。
剑柄基于DI库匕首的顶部,可从编译时的正确性,运行时性能,可扩展性和Android Studio支持中受益于匕首提供的。
20
见团队
这本书是给谁的
本书适用于中级Kotlin或Android开发人员,他们希望了解如何使用匕首和刀柄库实现依赖注入模式。
本书涵盖的概念
pro
匕首by Tutorials
学习依赖注入 - 一种构建可维护和可测试的软件系统的重要技术。依赖注入无处可见,因为它的名字暗示,它通过使用匕首变得更加容易 - Google的框架,可以帮助您解决具有困扰基于反射的解决方案的开发和性能问题。 本书在早期访问版本中。本书的章节列表可能会有所变化。估计最终版本:冬季2021
免费阅读Ultimate Pro订阅*
*包括我们在线图书馆中的所有其他书籍
查看所有优点
单独购买59.99美元*
*包括访问所有在线阅读功能。