inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

냉동코더의 알기 쉬운 Modern Android Development 입문

의존성 주입 관련해서 질문이 있습니다!

423

juneeeiii

작성한 질문수 7

1

원래는 Factory를 통해 repository 등 viewmodel에서 사용할 것들을 전달해 주었습니다!

원래 했던 프로젝트에서도 다음과 같이 프래그먼트에서 viewmodel을 다음과 같이 선언하여 팩토리를 넘겨주어 구현했었습니다.

private val viewModel: BoardDetailViewModel by viewModels {
    BoardViewModelFactory()
}

이제 의존성주입을 공부하고 있어 실제 프로젝트에서도 적용해보려고 하는데, 궁금한 점이 있어 글을 작성합니다.

만일 이번 강의와 같이 의존성주입을 하게되면 ViewModel에 있는 Repository를 위와 같이 팩토리를 통해 전달하지 않고 다음과 같이 적어줘도 실행되는 이유가 무엇인가요?

private val bookViewModel by viewModels<BookViewModel>()

분명히 BookViewModel에는 Repository를 생성자로 받으라고 나와있는데, 위에 저렇게만 적어줘도 실행되는 이유가 궁금합니다! 아직 의존성주입에 대해 이해를 못했는지... 잘 이해가 가지 않습니다!

항상 좋은 강의 감사드립니다 :)

architecture android kotlin jetpack

답변 1

0

냉동코더

의존성 주입을 사용하지 않으면 액티비티에서 > 리포지토리 인스턴스를 만들어서 > 팩토리를 통해 > 뷰모델에 전달해야 합니다.

그런데 의존성 주입을 위해 Hilt를 쓰면 Hilt가 직접 리포지토리 인스턴스를 만들어서 > 뷰모델에 주입 해줍니다. 팩토리가 필요없어지게 되는 이유지요.

0

juneeeiii

답변 감사합니다 :)

Coroutine, Flow 질문

0

401

1

Transformations import 안됨

0

588

1

moshi관련 질문입니다.

0

566

2

searchBooks() 에서 북 검색 입력을 너무 빨리 할 경우 마지막 글자로 검색이 안돼요.

0

375

1

안드로이드에서 아키텍처 패턴

0

423

1

RecyclerView.Adapter vs ListAdpater

0

473

1

Flows 와 Coroutine

1

572

1

[BookSearchAdapter] onBindViewHolder의 currentList[position] 질문

0

370

1

코루틴 메모리 관련해서 질문드립니다!

0

456

1

Java Bill Pugh Solution 에서 INSTANCE

0

469

1

nested json에서 특정 부분만 파싱하는법

0

495

1

Fragment에서의 viewBinding

0

525

3

toolbar 질문드립니다.

0

417

2

EditText 에서 delay 주셔서 처리하셨는데 flow 의 debounce() 하고 같은건가요?

2

568

1

코루틴 관련 질문

0

549

1

오류

1

494

2

강사님! 직렬화 라이브러리를 Moshi, kotlin serialization 두개를 사용하시던데 이유가 있으신가요?

1

749

1

EditText 는 kill 해도 값이 잘 저장되어있던데 혹시 제가 잘못테스트했을까요?

1

354

1

서버도 페이징 기능이 되는데 Paging 라이브러리가 필요할까요?

1

530

1

GSON 이 아닌 Moshi 를 사용하시는 이유가 있을까요?

1

1271

1

EditText 는 액티비티가 재생성되어도 값이 남아있던데 이유가 궁금해요

1

498

1

ViewModel 생성시 왜 초기값을 받지 않도록 했을까요?

1

438

1

Room DB에 id 항목 추가

0

255

1

안녕하세요. 용어에 대해 질문이 있어 글 남깁니다.

0

408

2