일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Singleton
- builderPattern
- designPattern
- 팩토리 메소드
- ㅋㅁ
- 디자인패턴
- El
- Abstract Factory
- 함수형프로그래밍
- compose
- 추상팩토리패턴
- material3
- 빌터패턴
- r
- 안드로이드 디자인시스템
- android designsystem
- 싱글톤
- Design Pattern
- 코틀린
- F
- Observer Pattern
- PrototypePattern
- ㅓ
- factory method
- 옵저버 패턴
- Functional Programming
- 디자인패턴 #
- Kotlin
- 추상 팩토리
- 프로토타입 패턴
- Today
- Total
목록DI (17)
오늘도 더 나은 코드를 작성하였습니까?

app이 실행되는 기간동안 Application Graph가 메모리에서 지속적으로 남아 있어야 하기 때문에. Application Class에 Dagger Graph를 생성해야된다. graph는 app의 생명주기에 영향을 받는다. 코드랩의 경우 Application Context를 주입을 필요로 하기 때문에 Application Class에 그래프를 생성한다. 장점으로 그래프는 다른 Android 프레임워크 클래스(해당 컨텍스트로 액세스할 수 있음)에서 사용할 수 있습니다. 테스트에서 사용자 정의 Application 클래스를 사용할 수 있으므로 테스트에도 좋습니다. Graph 인스턴스(예: AppComponent)를 MyApplication에 추가 open class MyApplication : App..

코드랩을 통해 구현할 application graph - 화살표는 객체간 종속성을 표기한다. - 애플리케이션 그래프: 앱의 모든 클래스와 그들 사이의 종속성 @Inject annotation - Dagger에게 이 type의 객체를 주입하는 방법(how)을 알려준다. - Dagger는 아래 코드에서 @Inject를 통해 registrationViewModel을 생성하기 위해 userManger이 필요한것을 알고, 또 userManger를 생성을 생성하는 방법또한 알아야한다. class RegistrationViewModel @Inject constructor(val userManager: UserManager) { ... } *kotlin에서는 주생성자 앞에 @Inject를 애노테이션을 붙이기전에 con..

Hilt는 프로젝트에서 수동 종속성 주입을 수행하는 상용구를 줄여주는 Android 용 종속성 주입 라이브러리입니다. 수동 종속성 주입을 수행하려면 모든 클래스와 해당 종속성을 수동으로 생성하고 Container 사용하여 종속성을 재사용하고 관리해야합니다. Hilt는 프로젝트의 모든 Android 클래스에 Container를 제공하고 수명주기를 자동으로 관리하여 애플리케이션에서 DI를 사용하는 표준 방법을 제공합니다. Hilt는 Dagger가 제공하는 컴파일 시간 정확성, 런타임 성능, 확장 성 및 Android Studio 지원의 이점을 누릴 수 있도록 인기있는 DI 라이브러리 Dagger 위에 빌드되었습니다. 안드로이드 프로젝트에 종속성 추가. 프로젝트 수준 Gradle buildscript { ....

권장사항 - @Inject 와 함께 생성자 삽입을 사용하여 Dagger 그래프에 유형을 추가한다. 가능하지 않다면, @Bind를 이용하여 인터페이스에 어떤 구현이 있어야 하는지 Dagger에 알려줌. @Provides를 사용하여 프로젝트가 소유하지 않은 클래스를 제공하는 방법을 Dagger에 알려줌. - 구성요소에서 모듈을 한 번만 선언 한다. - 사용되는 전체 기간에 따라 범위 주석의 이름을 설정한다. (@ApplicationScope, @LoggedUserScope, @AcitivityScope) Android에서 Dagger 사용 Android에서 개발자는 앱이 실행되는 동안 그래프 인스턴스가 메모리에 있기를 원하기 때문에 일반적으로 애플리케이션 클래스 내부에 Dagger 그래프를 만듭니다. 이렇게..