본문 바로가기

의존성 주입

(2)
[AOS] Dagger Hilt - DI 요즘 mvvm 검색하면 항상 붙어 나오는 키워드중 하나가 DI인것 같습니다. ( 요즘이 아니라 한참 오래전이긴 함 ) MVVM을 적용해보면서 코인은 써봤지만 hilt는 'Dagger'의 학습곡선이 상당하다는 얘기만 들어서 엄두도 못내다가 이직한 회사에 힐트가 적용되어 있어 공부한 내용을 정리해봅니닷 | DI 필요성 ( 의존성 주입 ) A 클래스에서 B 클래스를 객체화 해서 사용하는 경우를 예를 들어보면 아래와 같습니다. class A{ val b = B() ... } class B{ ... } 만약 B클래스의 기능 변화로 객체화시 넘겨줘야 하는 변수가 생긴다면 B클래스를 객체화 하는 클래스를 모두 찾아서 그에 맞게 변경 해줘야 합니다. class B constructor(val number: Int){ ..
AAC koin 적용하기 Koin? DI (= Dependency Injection) 라이브러리로 Dagger 와 같지만 학습 곡선이 낮은 편입니다. A클래스에서 B클래스를 사용하는 경우 의존성을 갖는데 B 클래스가 변경되는 경우 B클래스를 사용하는 A 클래스에서도 코드를 수정해야 합니다. 뿐만아니라 B 클래스를 사용하는 모든 클래스에서 수정 해야하는 번거로움이 발생하는데 DI 라이브러리의 경우 코드를 직접 수정하지 않아도 적절한 의존성을 주입해 줍니다. 의존성 예제 class B{ { ... class A{ var b = B() } 위 예제는 클래스 A가 B에 의존성을 갖는다라고 얘기할 수 있습니다. class B( var count : Int){ } class A{ var b = B(5) } B클래스의 생성자 파라미터가 변경..