SeongUg Steve Jung
Dec 20, 2018 · 1 min read
  1. ViewModel 에서 직접적으로 View 에 관여하고자 할때

여기에는 2가지 방법을 사용할 수 있습니다.
한가지는 reverse-Databinding 을 이용해서 뷰의 정보를 Observable 을 통해서 전달 받을 수 있는 것인데요 이 방법은 꽤나 손이 많이 가는 방법이 있고요. 다른 하나는 ViewUsecase 를 전달 받는 방식입니다.

저는 ViewUsecase 를 더 많이 사용하는 편입니다. 단 DI 시점에 따라서 ViewUsecase 에 View 를 직접 넣지 못하는 경우가 있기 때문에 Lazy 로 View 를 가져올 수 있는 인터페이스를 주입받아서 처리합니다.

2. 예상하신대로DI 툴을 쓰신다면 문제 없습니다. :D

3. ViewModel 의 UnitTest 경우, ViewUsecase 는 mocking 하여 테스트하고 ViewUsecase 만 별도로 UnitTest 코드를 작성하는 방식을 통해 작성합니다.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store