개발86 [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. 코틀린(Kotlin) 문법 뽀개기 - 7. 범위 지정 함수, let, also, apply, run, with 이번 포스팅은 개인적으로 코틀린을 쓰면서 가장 좋아하는 함수인 범위 지정 함수에 대해 포스팅하겠다. 가장 좋아하고 자주 쓰지만 잘 사용하는 것은 어려운 것 같고 올바른 사용법은 아직도 잘 모르겠다. 코틀린의 공식 문서인 https://kotlinlang.org/docs/reference/scope-functions.html를 참고하는 것을 추천한다. 범위 지정 함수에 대해 공식 문서는 다음과 같이 설명하고 있다. "The Kotlin standard library contains several functions whose sole purpose is to execute a block of code within the context of an object. When you call such a functi.. 2020. 8. 10. 이전 1 ··· 14 15 16 17 18 19 20 ··· 22 다음 반응형