在之前的文章中,我们看了一些使用依赖注入的不同方法,以实现Swift应用中更多的解耦和可测试架构。例如,"在Swift中使用工厂的依赖注入"中把依赖注入和工厂模式结合起来,以及"在Swift中避免使用单利"中利用依赖注入取代单利。到目前为止,我的大部分文章和例子都使用了基于初始化器的依赖注入。然而,就像大多数编程技术一样,依赖注入有多种“风味(Flavors)”,每一种都有自己的优点和缺点。本周,让我们来看看三种不同方式的依赖注入,以及它们如何在Swift中使用。基于初始化器让我们先快速回顾一下最常见的依赖注入方式——基于初始化器的依赖注入,即对象在被初始化时应该被赋予它所需要的依赖关系。这种