오브젝트 그래프란?
지금까지 우리는 의존성을 외부 Container(Component)에서 설정한 후 실행 시점에 주입시켜 주는 것을 살펴보았다.
이러한 의존성을 제공할 수 있을지 없을지를 표현하는 Component, Module, Provider의 관계를 도표 형태로 나타내는 것을 바로 오브젝트 그래프라 부른다.
<그림1>의 Object 그래프에서는 우리는 BaseUrl, OkHttpClient, Retrofit, AppDatabase, Dao를 이 Component를 통해 주입받을 수 있음을 알 수 있다.
예제
예제를 다루기 위해 이전 2번 글에서 다루었던 Example을 참조한다.
<그림1>은 String만을 제공하는 Component로부터 name이라는 String 필드를 가진 Student가 의존성을 주입받는 예제이다.
이때 우리는 의존성 그래프로부터 Student에 주입하기 위한 충분한 필드가 있다는 것을 의존성 그래프를 통해 확인 가능하다.
<그림1>의 가장 오른쪽 부분이 바로 의존성 그래프이다. <그림1>의 의존성 그래프에서 String을 제공해주므로 Student의 name 필드에 Injection이 가능해진다.
반응형