본문 바로가기
반응형

hilt7

[Android] Dependency Injection (a.k.a DI) - 3. 기반코드를 Koin으로 리팩토링 해보자! 자, 이전 포스팅에서 작성한 Koin으로 리팩토링 해보자. github.com/InsertKoinIO/koin InsertKoinIO/koin Koin - a pragmatic lightweight dependency injection framework for Kotlin - InsertKoinIO/koin github.com Koin에 대해선 위 사이트를 방문해보는 것을 추천한다. 간략하게 말하면, Kotlin으로만 작성된 DI Framework이다. Dagger에 비해 상대적으로 쉽게 작성이 가능하다. 단점으로는 런타임, 실제 앱이 실행되는 동안에 DI에 문제가 발생했는지 안했는지 알 수 있다. (Dagger는 컴파일 타임에 알 수 있다.) 자, 이제 Koin을 사용해보자. - Dependency 추.. 2020. 10. 24.
[Android] Dependency Injection (a.k.a DI) - 2. MVVM으로 기반 코드 작성 자, 우선 기반 코드를 작성하도록 하겠다. MVVM 아키텍처를 활용할 것이며, 구글의 아래 이미지를 참고하자. https://developer.android.com/jetpack/docs/guide?hl=ko 앱 아키텍처 가이드 | Android 개발자 | Android Developers 이 가이드에는 고품질의 강력한 앱을 빌드하기 위한 권장사항 및 권장 아키텍처가 포함되어 있습니다. 이 페이지는 Android 프레임워크 기본을 잘 아는 사용자를 대상으로 합니다. Android 앱을 처 developer.android.com 더 자세한 내용은 위 문서를 보고, 아래부터는 코드를 통해 DI를 확인 할 것이다. - 기반 코드 패키지 구조 패키지 구조는 위와 같다. 여기서 fake는 실제로 데이터를 받아오기.. 2020. 10. 24.
[Android] Dependency Injection (a.k.a DI) - 1. 뭔데? 왜 하는데? Dagger? Koin? Hilt? 최근 개발자 채용공고를 보면 자격요건 혹은 우대사항에 DI가 심심치 않게 나타난다. 이말은 곧 DI라는 것이 개발에 있어 꽤 중요한 부분으로 인식되고 있다는 증거다. 나 또한 회사에서의 개발, 사이드 프로젝트에서 DI를 활용하고 있다. 이번 포스팅은 DI가 무엇이고 왜 쓰는지를 예시와 함께 알아 볼 것이다. - DI가 뭐야? DI는 "Dependency Injecton" 의 줄임말이며 "의존성 주입" 이라는 의미로 해석이 된다. 의존성이란 A라는 객체(클래스)가 B라는 객체(클래스)를 사용한다는 의미로 이해하자. 이해를 돕기 위해 아래의 예시를 보자. class SomeDataRepository { private val source: SomeDataSource = SomeDataSource() } cla.. 2020. 10. 24.