greenhelix
greenhelix
greenhelix
12-12 03:42
  • All (229)
    • Algorithm (118)
      • Algorithm (17)
      • Graph (0)
      • Core (6)
      • Python (18)
      • PythonSnippet (4)
      • Java (59)
      • Kotlin (14)
    • Project (0)
    • Study (8)
      • License (5)
      • EIP (3)
    • Programming (63)
      • Android (41)
      • Flutter (1)
      • Bugs Life (21)
      • Linux (0)
    • Tech (32)
      • Tech (17)
      • Drone (4)
      • Hacking (11)
    • Life (6)
      • INGRESS (1)
      • 심시티빌드잇 (0)
250x250

티스토리

hELLO · Designed By 정상우.
greenhelix

greenhelix

[Android] Dagger2
Programming/Android

[Android] Dagger2

2020. 12. 16. 18:38

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

 

Dagger2 User's Guide (한글 번역)

의역 및 편의로 줄인 부분이 있으니 원본을 참고하시면서 봐주세요. 미진한 번역의 경우 지적해주시면 반영...

blog.naver.com

대거 공식 페이지 : dagger.dev/dev-guide/android

 

Dagger & Android

One of the primary advantages of Dagger 2 over most other dependency injection frameworks is that its strictly generated implementation (no reflection) means that it can be used in Android applications. However, there are still some considerations to be ma

dagger.dev

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Programming > Android' 카테고리의 다른 글

[Ad] 광고 도구  (0) 2020.12.25
🥋 2. JetPack & Flutter Widget  (0) 2020.10.27
Shortcut 단축키 모음  (0) 2020.06.12
    'Programming/Android' 카테고리의 다른 글
    • Dagger 대거 (의존성 주입)
    • [Ad] 광고 도구
    • 🥋 2. JetPack & Flutter Widget
    • Shortcut 단축키 모음
    greenhelix
    greenhelix
    개발에 관한 것들과 개인적인 것을 담는 블로그

    티스토리툴바