koin

Kim suho·2022년 3월 27일
0

https://github.com/InsertKoinIO/koin

kotlin multiplatform용 DI 모듈이다.
kotlin DSL문법으로 module을 기술하는데, annotation을 지원하게 되면서 android의 hilt와 비슷하게 사용할 수 있게 되었다.

hilt에 비해서 신박한 기능도 있는데, 아래처럼 기술하면 my.company.domain package내의 component를 알아서 찾아서 연결해준다. KSP를 적극적으로 사용하는 듯하다.

@Module
@ComponentScan("my.company.domain")
class DomainLayerDiModule

hilt의 경우는 provides 로 상속관계를 지어줄 수 없는 외부 class나 builder pattern을 사용하는 class도 사용할 수 있지만, koin annotation은 interface와 implementation만 사용할 수 있어서 불가능하다.
kotlin DSL로는 가능하긴 한데.. annotation으로만 하고 싶었는데 둘다 알아야 되는 불편함이 있기는 하다.

profile
평범한 개발자

0개의 댓글