티스토리 뷰
챌린지반 7주차 세션 정리
의존성 주입의 개념
해당 자동차 클래스는 엔진이라는 인스턴스를 자동차 내에서 생성한다.
여기서 좀 더 유연한 클래스를 작성하고 싶다면 바깥에서 엔진을 주입하도록 해야된다.
해당 클래스는 엔진 인스턴스를 외부에서 주입받도록 설계되었다.
이를 의존성 주입(DI - Dependency Injection)이라고 한다.
자동차 클래스의 엔진은 생성자를 통해 인스턴스로 주입받기에 자동차의 엔진은
클래스 외부에서 수정이 가능하게 되며 이로 클래스의 모듈화가 쉬워지게 된다.
의존성 주입의 문제점
각 클래스들이 서로 이런식으로 의존하도록 설계되어있을 때
뷰모델 인스턴스를 하나 생성하려면 관련된 모든 클래스의 인스턴스를
생성해야하기에 코드의 간결성이 심하게 저해되는 문제점이 존재한다.
의존성 주입 라이브러리의 활용
그렇기 때문에 클린 아키텍쳐를 구현할 때는 Hilt라는
DI 라이브러리를 활용해 각 클래스에 의존성을 주입한다.
Hilt 튜토리얼
이거 보고 따라서 프로젝트에 Hilt를 적용시켜보면 된다.
Hilt 연결 확인
hilt 설정이 제데로 됬다면 app/build/generated에서 hilt 폴더를 확인할 수 있다.
Hilt의 생명주기 설정
@Inject constructor로 Hilt 결합을 정의한 뒤, 인스턴스를 삽입하는 부분에서
@InstallIn(Hilt구성요소::class) 어노테이션으로 모듈을 어느 컴포넌트에 설치할지를
지정하면 모듈의 생명주기는 지정한 컴포넌트의 생명주기와 연결된다.
'Android 국비지원' 카테고리의 다른 글
TIL 63일차 (앱개발 심화 과제 - 선택 과제 구현) (0) | 2024.08.12 |
---|---|
TIL 62일차 (앱개발 심화 과제 - 필수 과제 구현) (0) | 2024.08.12 |
TIL 56일차 (챌린지반 6주차 세션 정리) (0) | 2024.08.08 |
TIL 55일차 (Compose 특강 2회차 정리) (0) | 2024.08.08 |
TIL 54일차 (동적 layoutManager 적용) (0) | 2024.08.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 안드로이드 스튜디오
- 기초 문제
- 위젯
- 국비지원
- shared_preferences
- 행렬의 내적
- 스파트타 코딩클럽
- 레이아웃
- 플러터
- 9 to 9
- kakao api
- 그룹화
- 개발블로그
- android 부트캠프
- 무스마
- 파이썬
- 프로그래머스
- 프로그래머스 #코틀린 #map
- 코틀린
- 뷰
- 귤 고르기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함