Image
Android/Dependency Injection

[Dagger2] 6. 오브젝트 그래프란?

오브젝트 그래프란?

지금까지 우리는 의존성을 외부 Container(Component)에서 설정한 후 실행 시점에 주입시켜 주는 것을 살펴보았다.

이러한 의존성을 제공할 수 있을지 없을지를 표현하는 Component, Module, Provider의 관계를 도표 형태로 나타내는 것을 바로 오브젝트 그래프라 부른다.

그림1. Object 그래프

<그림1>의 Object 그래프에서는 우리는 BaseUrl, OkHttpClient, Retrofit, AppDatabase, Dao를 이 Component를 통해 주입받을 수 있음을 알 수 있다.

 

 

 

예제

예제를 다루기 위해 이전 2번 글에서 다루었던 Example을 참조한다.

 

[Dagger2] 2. Dagger2에서 Injection이 일어나는 방식

Dagger2의 IOC Container 구성 앞의 글에서 Dagger2의 3가지 구성요소 Container, Module, Provider에 대해 배웠다. Component : 클래스의 인스턴스를 모아놓는 저장소(Container) 역할. 각 인스턴스들은 Module..

kotlinworld.com

<그림1>은 String만을 제공하는 Component로부터 name이라는 String 필드를 가진 Student가 의존성을 주입받는 예제이다. 

 

이때 우리는 의존성 그래프로부터 Student에 주입하기 위한 충분한 필드가 있다는 것을 의존성 그래프를 통해 확인 가능하다.

그림1. 의존성 그래프

<그림1>의 가장 오른쪽 부분이 바로 의존성 그래프이다.  <그림1>의 의존성 그래프에서 String을 제공해주므로 Student의 name 필드에 Injection이 가능해진다.

 

 

반응형

 

이 글의 저작권은 '조세영의 Kotlin World' 에 있습니다. 글, 이미지 무단 재배포 및 변경을 금지합니다.

 

 

Kotlin, Android, Spring 사용자 오픈 카톡

오셔서 궁금한 점을 질문해보세요!
비밀번호 : kotlin22

open.kakao.com