[Android] 기억에 남는 장소 저장 앱 개발기 - 7

송규빈·2022년 8월 24일
1

DayToGo 개발기

목록 보기
7/7
post-custom-banner

Hilt 적용기

Dagger를 기반으로 한 Hilt를 적용하기 시작하였다.
DI를 적용한 이유는 모듈, 패키지별로 나누다 보니 의존성을 주입해야하는 상황이 많아졌고, 그로인해 DI 라이브러리 관점에서 쓸데없는 코드들이 너무나도 많아졌다. 아래는 예시이다.

ViewModel (Before)

뷰모델에서는 usecase를 인자로 받아왔어야했기에 뷰모델 팩토리를 생성해야했다.

또한 usecase가 늘어갈수록 인자가 많아질 것이다.(물론 UseCase를 한꺼번에 관리할 수도 있긴하다.)

ViewModel (After)

이렇게 Hilt를 사용하여 의존성을 주입시켰고 ViewModel Factory코드는 사라졌다 :)

그렇다면 View 코드에서는 어떠한가

View (Before)

View단에서는 ViewModelFactory 주입과 usecase, usecase를 위한 repository 까지 삽입을 해야했다.

View (After)

View단의 코드도 마찬가지로 대폭 축소되었다.

AppModule

하지만 di를 위한 클래스 파일이 하나 더 생겼다.

profile
🚀 상상을 좋아하는 개발자
post-custom-banner

0개의 댓글