티스토리 뷰

챌린지반 7주차 세션 정리

 

의존성 주입의 개념

 

해당 자동차 클래스는 엔진이라는 인스턴스를 자동차 내에서 생성한다.

여기서 좀 더 유연한 클래스를 작성하고 싶다면 바깥에서 엔진을 주입하도록 해야된다.

 

 

해당 클래스는 엔진 인스턴스를 외부에서 주입받도록 설계되었다.

이를 의존성 주입(DI - Dependency Injection)이라고 한다.

 

자동차 클래스의 엔진은 생성자를 통해 인스턴스로 주입받기에 자동차의 엔진은

클래스 외부에서 수정이 가능하게 되며 이로 클래스의 모듈화가 쉬워지게 된다.

 

 

의존성 주입의 문제점

각 클래스들이 서로 이런식으로 의존하도록 설계되어있을 때

 

 

뷰모델 인스턴스를 하나 생성하려면 관련된 모든 클래스의 인스턴스를

생성해야하기에 코드의 간결성이 심하게 저해되는 문제점이 존재한다.

 

 

의존성 주입 라이브러리의 활용

그렇기 때문에 클린 아키텍쳐를 구현할 때는 Hilt라는

DI 라이브러리를 활용해 각 클래스에 의존성을 주입한다.

 

 

Hilt 튜토리얼

 

Hilt를 사용한 종속 항목 삽입  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Hilt를 사용한 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Hilt는 프로젝트에서 종속

developer.android.com

이거 보고 따라서 프로젝트에 Hilt를 적용시켜보면 된다.

 

 

Hilt 연결 확인

 

hilt 설정이 제데로 됬다면 app/build/generated에서 hilt 폴더를 확인할 수 있다.

 

 

Hilt의 생명주기 설정 

 

@Inject constructor로 Hilt 결합을 정의한 뒤, 인스턴스를 삽입하는 부분에서 

@InstallIn(Hilt구성요소::class) 어노테이션으로 모듈을 어느 컴포넌트에 설치할지를

지정하면 모듈의 생명주기는 지정한 컴포넌트의 생명주기와 연결된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함