728x90
반응형

Android 공부/DI ( 의존성 주입 ) 5

Hilt ?

의존성 주입 https://www.youtube.com/watch?v=gkUCs6YWzEY https://developer.android.com/training/dependency-injection/hilt-android?hl=ko Hilt를 사용한 종속 항목 삽입 | Android 개발자 | Android Developers Hilt를 사용한 종속 항목 삽입 Hilt는 프로젝트에서 수동 종속 항목 삽입을 실행하는 상용구를 줄이는 Android용 종속 항목 삽입 라이브러리입니다. 수동 종속 항목 삽입을 실행하려면 모든 클래스 developer.android.com https://developer.android.com/codelabs/android-hilt?hl=ko#0 Android 앱에서 Hilt 사용..

DI ) Dagger2의 5가지 필수 개념

출처 : https://jaejong.tistory.com/125?category=873925#Dagger [Android][Kotlin] Dagger2 #1 - 기본 개념 Dagger2 #1 - 기본 개념 Dagger 관련 글 DI (Dependency Injection) - 의존성 주입 Dagger2 #1 - 기본 개념 (현재 글) Dagger2 #2 - Scope / Binds / MultiBinding Dagger2 #3 - @Named @Qualifier Dagger2 #4 -.. jaejong.tistory.com Dagger 5가지 필수 개념 Inject Component SubComponent Module Scope Inject @Inject는 필드, 생성자, 메서드에 붙여 Componen..

DI ) Dagger2 란?

Dagger2란? 의존성 주입을 체계적으로 할 수 있도록 만들어진 프레임워크 의존성 주입이란 외부에서 의존 객체를 생성하여 넘겨주는 것을 의미합니다. 예를들어 A Class가 B Class를 의존할 때 B Object를 A가 직접 생성하지 않고 외부에서 생성하여 넘겨주면 의존성을 주입했다고 합니다. DI를 위해서는 객체를 생성하고 넘겨주는 외부의 무언가가 필요합니다. 이것이 DI Framework가 하는 일입니다. 외부에서 넘겨주는 무언가를 스프링에서는 컨테이너, Dagger에서는 Component와 Module이라고 부릅니다. DI는 이렇게 의존성이 있는 객체의 제어를 외부 Framework로 올리면서 IoC 개념을 구현합니다. IoC는 Inversion of Control(제어의 역전)의 준말입니다...

[Android] DI Framework (Dagger2, Koin, Hilt)

DI... DI ..DI..DI..DI 하다보면 Android 개발자라면 Dagger2, Koin, Hilt라는 것을 들어봤을 ( 봤을 ) 것이다. 그럼 뭘써야할까... ㅠㅠ 일딴 차이를 비교해보고 특성을 알아보려고 한다. 1. Dagger2 - java, Kotlin - Dagger2 적용을 위해 환경을 세팅해야하는 과정과 원활한 적용에 필요한 러닝커브가 크다. - 컴파일 시 애노테이션을 읽고 scope에 맞는 DI container와 주입할 class파일을 generate하여 의존성을 주입한다. - 컴파일 시간 증가 , 문제가 있을 경우 Compile 시점에서 에러 2. Koin Kotlin DSL(Domain Specific Language, 도메인 특화 언어)로 만들어졌다. - Kotlin - D..

[Android] DI ??

1. DI ( 그게 뭔데..왜 날 괴롭히는거야 ) - Dependency Injection ( 의존관계 주입 ) “A가 B를 의존한다.”는 표현은 => B의 기능이 추가 또는 변경되거나 형식이 바뀌면, 그 영향이 A에 미친다. 1) 의존관계??? 그건 뭔데 예시) 햄버거 가게 요리사는 햄버거 레시피에 의존한다. 햄버거 레시피가 변화하게 되었을 때, 변화된 레시피에 따라서 요리사는 햄버거 만드는 방법을 수정해야 한다. 레시피의 변화가 요리사의 행위에 영향을 미쳤기 때문에, “요리사는 레시피에 의존한다”고 말할 수 있다. 코드로 표현해보면 다음과 같다. class BurgerChef { private HamBurgerRecipe hamBurgerRecipe; public BurgerChef() { hamBu..

728x90
반응형