[kotlin] Kodein 사용 예시

Kodein은 Kotlin에서 사용할 수 있는 강력한 의존성 주입 프레임워크입니다. 이를 통해 의존성을 관리하고 애플리케이션의 구조를 단순화할 수 있습니다. 아래의 간단한 예제를 통해 Kodein의 기본적인 사용법을 확인해보겠습니다.

프로젝트 설정

먼저, build.gradle.kts 파일에 Kodein 라이브러리를 추가합니다.

dependencies {
    implementation("org.kodein.di:kodein-di-generic")
}

위와 같이 의존성을 추가하여 프로젝트에 Kodein을 포함시킵니다.

Kodein 모듈 정의

의존성을 관리하기 위해 모듈을 정의해야 합니다. 아래와 같이 간단한 모듈을 정의할 수 있습니다.

val kodeinModule = DI.Module("myModule") {
    bind<String>() with singleton { "Hello, Kodein!" }
    bind<MyClass>() with singleton { MyClass(instance()) }
}

위의 코드에서 DI.Module을 사용하여 모듈을 정의하고, bind 함수를 통해 의존성을 제공합니다.

주입받기

의존성이 필요한 클래스에서 by kodein.instance()를 통해 주입받을 수 있습니다.

class MyClient(val message: String, val myClass: MyClass) {
    // ...
}

val myClient: MyClient by kodein.instance()

위의 예제에서 MyClient 클래스는 StringMyClass 의존성을 주입받습니다.

결론

위의 예제를 통해 Kodein을 사용하여 간단히 의존성을 주입하는 방법을 확인해보았습니다. Kodein은 안드로이드 및 일반적인 Kotlin 프로젝트에서 사용할 수 있는 강력한 도구로, 의존성 주입을 단순하고 효율적으로 관리할 수 있도록 도와줍니다.

더 많은 정보는 Kodein 공식 문서에서 확인하실 수 있습니다.