Dagger
Java 진영에서 Guice가 있었지만, 단점이 많아서 Dagger1('대걸, 대거' 라 부른다.)이 2012년 Square사에 의해 등장한다.
Dagger1는 Annotation을 기반으로 코드를 생성하고, API를 갖지만 Guice보다는 빨랐다.
이후, Dagger 최조 개발자와 구글의 코어 라이브러리 팀이 Dagger2를 만들고 현재까지 발전시키고 있다.
Dagger는 어렵다. 중도포기자가 많다.
- Annotation 기반의 코드 생성방식이 익숙하지 않다.
- 다른 DI(의존성주입) 라이브러리보다 공부양이 많다.
- Dagger에서만 사용하는 용어로 혼란을 준다.
But, Dagger는 장점이 더 많기에 사용한다.
- 자원 공유 단순화되어 있고, 지정 범위내에 생명주기에서는 동일 인스턴스를 제공한다.
- 복잡한 의존성을 단순하게 해준다. ( 이부분에서 앱이 커질 수록 Dagger로 통제하기 유용하다. )
- 유닛 테스트를 할 수 있게 도와준다.
- 자동 코드 생성, 생성된 코드는 명확하고 디버깅이 가능하다.
- 코드 난독화 문제가 없다. ( Dagger1에서는 있었음. )
- 라이브러리가 작다. ( 상대적으로 )
사용방법
Gradle 을 선언해준다.
// 코트린
dependencies{
자료참고 주석
블로그 : m.blog.naver.com/dragond7/221032606344
대거 공식 페이지 : dagger.dev/dev-guide/android
728x90
반응형
'Programming > Android' 카테고리의 다른 글
[Ad] 광고 도구 (0) | 2020.12.25 |
---|---|
🥋 2. JetPack & Flutter Widget (0) | 2020.10.27 |
Shortcut 단축키 모음 (0) | 2020.06.12 |