DI(4)
-
Hilt & Dagger Annotation 별 정리
종속 항목 삽입 장점 클래스 재사용 가능 및 종속 항목 분리 : 종속 항목 구현을 쉽게 교체할 수 있습니다. 컨트롤 반전으로 인해 코드 재사용이 개선되었으며 클래스가 더 이상 종속 항목 생성 방법을 제어하지 않지만 대신 모든 구성에서 작동합니다. 리팩터링 편의성: 종속 항목은 API 노출 영역의 검증 가능한 요소가 되므로 구현 세부정보로 숨겨지지 않고 객체 생성 시간 또는 컴파일 시간에 확인할 수 있습니다. 테스트 편의성: 클래스는 종속 항목을 관리하지 않으므로 테스트 시 다양한 구현을 전달하여 다양한 모든 사례를 테스트할 수 있습니다. 종속 항목 수동 삽입 Application에 Container Factory 생성 → 메모리를 확보하기 위해 컨테이너를 최적화 및 삭제 작업을 해야 함 잘못 관리할 경우..
2024.01.28 -
DI(Dependency Injection) 정리 (hilt, koin)
의존성 주입 (Dependency Injection) 개념 - 의존성 주입은 필요한 객체를 직접 생성하는 것이 아닌 외부로부터 필요한 객체를 받아서 사용하는 것이다. 효과 - 객체간의 결합도를 줄이고 코드의 재활용성을 높여준다 DI 프레임 워크 종류 koin 특징 runtime error 발생 (컴파일 과정을 마친 후 사용자에 의해 실행되어 짐) 컴파일 시 걸러내지 못하고 실행 시점에 오류가 발생 kotlin DSL로 만들어진 안드로이드에서 사용할 수 있는 의존성 주입 라이브러리 AAC ViewModel 사용 시 별도의 라이브러리를 통해 의존성 주입이 가능 Dagger에 비해 복잡하지 않아 러닝 커브가 낮지만 리플렉션을 이용해 의존성을 주입하다 보이 앱 성능이 저하됨 장점 러닝커브가 낮음 Kotlin 개..
2022.06.28 -
프로그래밍 정리 (SOLID 원칙, 객체지향 프로그래밍, 함수형 프로그래밍, 의존성 주입, 스레드 세이프(Thread safe), TDD)
SOLID 원칙 컴퓨터 프로그래밍에서 SOLID란 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있다. SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링 하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. SRP(Single Responsibility Principle): 단일 책임 원칙 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다. OCP(Open Closed Principle): 개방 폐쇄 원칙 모듈은 ..
2022.01.31 -
[Koin/코인] Koin 시작하기
- Kotlin 개발자를위한 실용적인 경량 DI(dependency injection: 의존성 주입) 프레임 워크 - 프록시, 코드 생성, 리플렉션이없는 기능적 해상도 만 사용하여 순수한 Kotlin으로 작성된 DI 라이브러리 "Koin is a DSL, a light container and a pragmatic API" (여기서 DSL이란 ? Domain-Specific Languages : 도메인 특화 언어 즉, 특정 분야에 최적화된 프로그래밍 언어) * Dagger2 보다 진입장벽이 낮고 kotlin에 특화되어있어 Kotlin 사용자가 사용하기 더욱더 편리하다 1. build.gradle(:project) buildscript { ext{ koin_version = '1.0.2' } //Add J..
2020.04.24