DI (Dependency Injection)
DI(dependency injection)는 프로그래밍에 널리 사용되는 기술이며 Android 개발에 매우 적합하다.
DI 원칙을 따르면 좋은 앱 아키텍처의 토대를 마련할 수 있다.
종속성 주입을 구현하면 다음과 같은 이점이 있다.
- 코드 재사용성
- 리팩토링이 용이
- 테스트 용이성
먼저, 앱 수준 gradle에 플러그인을 추가
plugins {
id 'com.android.application'
id 'kotlin-android'
// dagger를 위한 plugin
id 'kotlin-android-extensions'
// 어노테이션을 통해 컴파일 타임에 코드 생성을 도와줌
id 'kotlin-kapt'
}
그 후, dagger 라이브러리를 추가
dependencies{
...
// dagger dependency
def dagger_version = "2.40"
implementation "com.google.dagger:dagger:$dagger_version"
kapt "com.google.dagger:dagger-compiler:$dagger_version"
...
}
Inject annotation
애플리케이션의 그래프(구조도)를 생성하기 위해, dagger는 그래프의 클래스에 대한 인스턴스를 생성하는 방법을 알아야 한다. 그 중 한 방법이 class 단에 @Inject를 사용하는 것이다. @Inject는 생성자에 붙는데, 생성자 매개변수가 해당 유형의 종속성이 된다.
'TIL' 카테고리의 다른 글
2024-01-18 (0) | 2024.01.18 |
---|---|
2024-01-16 (0) | 2024.01.16 |
2024-01-12 (1) | 2024.01.13 |
2023-12-28 (0) | 2023.12.28 |
2023-12-22 (0) | 2023.12.23 |