본문 바로가기

안드로이드

Dagger2 - Android

반응형

Dagger2는 의존성 주입(DI) 프레임워크입니다.

Dagger2를 사용하면 보일러 플레이트 코드가 감소한다는 장점이 있습니다.

 

Dagger 기본 개념

Inject

@inject 어노테이션으로 주입을 요청하면 연결된 Component가 Module로 부터 객체를 생성하여 넘겨준다.

Component

주된 역할을 하는 객체로 연결된 Module을 이용하여 의존성 객체를 생성하고 Inject로 요청받은 인스턴스에 생성한 객체를 주입한다.

Subcomponent

Compnent는 하위계층 Component로 그래프를 형성할 수 있다. 

Module

component에 연결되어 의존성 객체를 생성합니다. 

Scope

생성된 객체의 Lifecycle 범위이다. 

 

@Provide vs @Binds

이 둘 모두 Module에서 객체를 제공해주는 어노테이션이다.
자세한 건 나중에 추가...

 

medium.com/@maryangmin/di-%EA%B8%B0%EB%B3%B8%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%EC%82%AC%EC%9A%A9%EB%B2%95%EA%B9%8C%EC%A7%80-dagger2-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-3332bb93b4b9

medium.com/mobile-app-development-publication/dagger-2-binds-vs-provides-cbf3c10511b5

 

Dagger 2 @Binds vs @Provides

Beginning Dagger 2.12 there’s this new feature called @Binds, but how is it better than @Provides? I attempt to make it clearly seen here…

medium.com

 

반응형