Koin快速入门——依赖注入

Koin - 一个基于Kotlin语言智能的依赖注入框架,让你专注于应用开发而不是工具使用。

依赖注入与控制反转

“依赖注入”(Dependency Injection)是Martin Fowler在2004年提出的关于“控制反转”的解释。Martin Flower认为“控制反转”一词让人产生疑惑,无法直白地理解“到底哪方面的控制被反转了”。所以Martin Flower建议采用“依赖注入”一词来代替“控制反转”。
“依赖注入”和“控制反转”其实是一个事务的两种不同说法而已,本质上是一回事。“依赖注入”是一个“控制反转”的特殊实现,但“依赖注入”还指一个对象应用另一个对象来提供一个特殊的能力。例如,把一个数据库连接以参数的形式传到一个对象的结构方法里,而不是在那个对象内部自行创建一个连接。“依赖注入”和“控制反转”的基本思想就是把类的依赖从类内部转到外部以减少依赖。利用“控制反转”,对象在被创建时,会由一个调控系统统一进行对象实例的管理,将该对象所依赖对象的引用通过调控系统传递给它。也可以说,依赖被注入到对象中。所以“控制反转”是关于一个对象如何获取它所依赖对象的引用的过程,而这个过程体现为“谁来传递依赖的引用”这个职责的反转。

Koin

Koin 是纯 Kotlin 编写的轻量级依赖注入框架,轻量是因为它只使用 Kotlin 的函数解析特性,没有代理,没有代码生成,没有反射。非常适合应用于Kotlin开发。

官网

The kotlin injection framework

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容