-
Notifications
You must be signed in to change notification settings - Fork 4
Hilt
K024_박치윤 edited this page Nov 30, 2021
·
2 revisions
그물잠🐟 은 클래스 마다 필요한 의존성을 주입받기 위해서 Hilt 를 사용했습니다!
- Hilt 를 도입하기 전에는 클래스 내부에서 직접 의존 항목의 인스턴스를 생성해보기도 하고, 직접 DI 객체를 만들어 수동으로 의존성을 주입해보기도 했습니다.
- 이러한 방식은 코드의 재사용이 어렵다. 리팩토링이 어렵다. 보일러플레이트 코드가 발생한다. 라는 문제점이 있었습니다.
- Hilt 를 사용하여 다음과 같은 이점을 가질 수 있었습니다.
- 코드 재사용 및 리팩토링이 수월합니다.
- 보일러 플레이트 코드가 발생하지 않습니다.
- 테스트가 용이한 구조를 만들 수 있습니다.
DI 라이브러리로 다음과 같은 선택지가 있었습니다!
Dagger2
- Code generate 기반
- 컴파일 시 의존성 주입
- 라이브러리에 대한 많은 이해를 필요로 하기 때문에 처음 도입할 때 러닝커브가 높은 편
Koin
- Kotlin DSL 기반
- 런타임 시 의존성 주입
- 테스트 코드를 작성한다 하더라도 발생하는 모든 런타임 에러를 대응하는 데 제한이 있음
Hilt
- Dagger를 기반으로 한 Dagger-Hilt
- Dagger에 비해 낮은 러닝 커브