什么是依赖注入?
(
What Is Dependency Injection?
)
Dependency injection
is a programming pattern with the aim of making the code clearer and more maintainable. You’ve probably heard of
inversion of control
and
separation of concerns
principles: dependency injection is the
concrete
way to do it.
依赖注入
是一种编程模式,旨在使代码更清晰,更可维护。 您可能已经听说过
kotlin 依赖注入 什么是依赖注入? (What Is Dependency Injection?)Dependency injection is a programming pattern with the aim of making the code clearer and more maintainable. You’ve probably heard of inversion of ...
Koin、Dagger2、Hilt 目前都是非常流行的库,面对这么多层出不穷的新技术,我们该做如何选择,是一直困扰我们的一个问题。
Hilt 与 Dagger2 区别并不大,Hilt就是对Dagger2的封装。
Koin框架,适用于使用
Kotlin
开发 ,是一款轻量级的
依赖注入
框架,无代理,无代码生成,无反射。
相对于Dagger2 而言Koin更加适合
Kotlin
语言。
Koin官网:https://start.insert-koin.io/#/quickstart/
kotlin
GitHub:ht
Stiletto的实现仅在,您可以将其复制到代码库中,而不必通过maven或其他东西导入。 有趣的部分是用法和配置,这是示例应用程序的用途。
模块只是具有无状态“提供程序”功能的,并在需要时用 (和可选)包装。
模块依赖关系由定义,以函数形式传递,或由其他模块实现的。 因此,在创建组件时会检查未满足的依赖项的编译时间。
只是使用Module接口的“多重继承”并继承来处理单例的类。 在大多数情况下,如示例中所示,它们不应包含任何实现,因为模块功能已经提供了这些实现。
组件依赖关系通过来实现。
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with
在之前使用MVP的同学,如果你使用过
依赖注入
框架Dagger的话,你就会发现,它是多么的难用,这里对Dagger的使用就不做介绍了。我们来一起学习在
kotlin
上的新的
依赖注入
框架koin
本文使用
kotlin
+ Jetpack
按照谷歌的建议,一个APP,应该包含UI层,ViewModel层,Repository层,这里
简单
介绍一下,UI持有ViewModel的引用,ViewModel...
此系列博客中,我们将主要介绍:
- `Dependency Injection`(
依赖注入
) 概念介绍。网上看了许多关于 DI 的介绍,云里雾里。这里,我们通过通俗易懂地方式对其进行介绍。
- 手动
依赖注入
介绍。为了让大家更容易理解 Hilt,我们先介绍如何通过手动的方式实现
依赖注入
效果。
- Hilt 注释(annotations)介绍及使用案例
- MVVM 案例中如何使用 Hilt
此博客主要介绍手动
依赖注入
。
koin 是一个用于
kotlin
的实用型轻量级
依赖注入
框架,采用纯
kotlin
编写而成,仅使用功能解析,无代理、无代码生成、无反射。
koin 是一个DSL,一个轻便的容易和一个使用的API。
1,添加依赖
// Add Jcenter to your repositories if needed
repositories {
jcenter() ...
此系列博客中,我们将主要介绍:
- `Dependency Injection`(
依赖注入
) 概念介绍。网上看了许多关于 DI 的介绍,云里雾里。这里,我们通过通俗易懂地方式对其进行介绍。
- 手动
依赖注入
介绍。为了让大家更容易理解 Hilt,我们先介绍如何通过手动的方式实现
依赖注入
效果。
- Hilt 注释(annotations)介绍及使用案例
- MVVM 案例中如何使用 Hilt
此博客主要介绍`Dependency Injection`(
依赖注入
)概念。
kotlin
引入 anko依赖的问题总结
首先啊, 我想说,这个引入 anko依赖头疼死我了,折腾了周六周日,绞尽脑汁,不明白为啥, 然后下面我叙述一下我的项目情况,
我是 新建了一个
kotlIn
的安卓项目,studio的工具是最新版本 2021.1.1这样的, 项目新建后就是 在 app的gradle添加 anko的依赖
//Anko commons
implementation "org.jetbrains.anko:anko-commons:0.10.5"
然后同步后,成功,但是呢,运行就出问题,各
Dagger2的困境
对于
依赖注入
(Dependency Injection,简称DI)来讲,它并非是一个新鲜的词汇,实际上,它很早就被提出并且应用在了企业级的web应用开发当中,比如Spring。
在Android开发领域内,毫无疑问,Google大名鼎鼎的 Dagger2 是
依赖注入
框架的首选工具库,它非常优秀,Github上数以万计的star是最强力的佐证,...
def koinVersion = "2.2.2"
//Koin for android
implementation "org.koin:koin-android:$koinVersion"
//Koin for scope feature
implementation "org.koin:koin-android-scope:$koinVersion"
//Koin