首页 > 其他分享 >kotlin koin

kotlin koin

时间:2022-10-12 14:55:22浏览次数:35  
标签:koin 框架 val Downloader kotlin request client executor

介绍

Koin是一个面向Android developer的依赖注入框架

 

使用场景

为什么要用依赖注入框架?

比如我们有一个下载器对象Downloader,需要下面三个对象才能完成构造。但是这个下载器对象在各个活动中使用频繁

val executor = Executor()
val client = HttpClient()
val request = Request(executor, client)
val downloader = Downloader(request)

这样就会导致在每个活动中都要多写4行代码去完成实例化对象。

当然我们也可以一次又一次地创建工厂类来为我们创建下载器实例

val downloader = DownloaderFactory.create()
DowloaderFactory 在哪里,

object DownloaderFactory{
    fun create():Downloader{
        val executor = Executor()
        val client = HttpClient()
        val request = Request(executor, client)
        return Downloader(request)
    }
}

但这样还不是最简化的,如果有一个框架,它能够自动帮我们完成创建工厂类的功能就好了,那么答案就是Koin框架

 

实战

https://juejin.cn/post/6844903929117933576

 

标签:koin,框架,val,Downloader,kotlin,request,client,executor
From: https://www.cnblogs.com/MiraculousB/p/16784528.html

相关文章

  • 为什么选择 Kotlin 重写后端服务?
    目录​​1.确定适用的技术栈​​​​2.选择适合的编程语言​​​​Kotlin优点:​​​​软件库生态系统强大​​​​对gRPC、HTTP、Kafka、Cassandr和SQL提供一等支持​​......
  • Kotlin使用随记
    泛型扩展方法//方法一fun<T,R>appendFunction01(input:T,mkf:T.()->R):R{returninput.mkf()}//方法二fun<T,R>T.appendFunction02(mkf:T.(T)......
  • kotlin协程代码测试
    importkotlinx.coroutines.*importorg.junit.jupiter.api.Testimportjava.util.concurrent.ExecutorServiceimportjava.util.concurrent.Executorsimportkotlin.......
  • Kotlin | 关于协程异常处理,你想知道的都在这里
    引言关于协程的异常处理,一直以来都不是一个简单问题。因为涉及到了很多方面,包括异常的传递,结构化并发下的异常处理,异常的传播方式,不同的Job等,所以常常让很多(特别是......
  • Kotlin | 关于协程异常处理,你想知道的都在这里
    引言关于协程的异常处理,一直以来都不是一个简单问题。因为涉及到了很多方面,包括异常的传递,结构化并发下的异常处理,异常的传播方式,不同的Job等,所以常常让很多(特别是......
  • kotlin列表排序
    一、排序的简单用法dataclassUser(valname:String,valisOnline:Boolean)funmain(){valuser1=User("1",false)valuser2=User("2",false)......
  • Kotlin:内联函数let、also、with、run、apply
    Let使用方法://作用1:使用it替代object对象去访问其公有的属性&方法object.let{it.todo()}//作用2:判断object为null的操作object?.let{//表示object不为nul......
  • 有关kotlin的回调函数
    回调函数英文定义:Acallbackisafunctionthatispassedasanargumenttoanotherfunctionandisexecutedafteritsparentfunctionhascompleted中文理......
  • Kotlin的空检查
    我们在使用Java语言时,经常会出现空指针异常NullPointerException。Kotlin基于过往语言设计的经验对这一问题进行了改良,把运行时可能出现的null问题,以编译时错误的方式,提前......
  • Kotlin kata1
    Youwillbegivenanarrayandalimitvalue.Youmustcheckthatallvaluesinthearrayarebeloworequaltothelimitvalue.Iftheyare,returntrue.Else......